2011-08-05 7 views
0

내 프로그램은 다음과 같다 :다른 클래스에 기본 클래스에서 변수를 액세스하고 싶어 ...

public class HelloGridViewActivity extends Activity { 

    public int pos; 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     GridView gridview = (GridView) findViewById(R.id.gridview); 
     gridview.setAdapter(new ImageAdapter(this)); 

     gridview.setOnItemClickListener(new OnItemClickListener() { 

      public void onItemClick(AdapterView<?> parent, View v, int position, long id) { 
       pos = position; 
       Toast.makeText(HelloGridViewActivity.this, "" + pos, Toast.LENGTH_SHORT).show(); 
       Intent secondActivity = new Intent(getBaseContext(), seconactivity.class); 
       startActivity(secondActivity); 
      } 
     }); 
    } 
} 

이 내 메인 클래스 파일과

public class seconactivity extends Activity { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     HelloGridViewActivity position1 = new HelloGridViewActivity(); 
     int p = position1.pos; 
     if (p == 0) { 
      setContentView(R.layout.ashtavinayak); 
     } else { 
      setContentView(R.layout.ayadhya); 
     } 
    } 
} 
를 따를 때 내 다른 자바 파일입니다

nw 내가 main 클래스에서 정의 된 pos 변수에 액세스하려고했습니다.이 클래스는 secondonactivity 클래스에 있습니다. any1은 어떻게 할 수 있습니까?

답변

4

가장 쉬운 방법은 데이터 또는 (두 번째 활동에서. Intent.setData()Intent.putExtra

를 보면 당신은 getIntent()를 호출 한 다음 데이터 및 엑스트라를 읽을 수 있습니다 추가로 하나, 의도에서 그것을 전달하는 것입니다 . 및 에 따라 같은 seconactivity 클래스에서 사용, 난 그냥 메인 클래스 1 개 방법 있어

+0

thnks ayublin..but는 공공 정적 INT의 POS 등의 변수를 선언int p = HelloGridViewActivity.pos; \t \t \t 경우 (p == 0) { \t \t \t \t 된 setContentView (R.layout.ashtavinayak); \t \t \t \t } 다른 \t \t \t \t { 된 setContentView (R.layout.ayadhya); \t \t –

+0

@Parth Dani 나는 또한 길을 선호하지만 큰 프로젝트에서 매우 위험합니다. :) wot EboMike는 모범 사례가되어야한다고 말했다. –

관련 문제