2014-02-14 82 views
0

我實現了一個簡單的ListView活動。在java文件中,我實施了OnItemClickListener()來響應ListView項目點擊。從setOnItemClickListener訪問主類成員變量

public class MainActivity extends Activity 
{ 
    private String value; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.home_screen); 

     value = "Hello World"; 

     final ListView listview = (ListView)findViewById(R.id.listview); 
     final ArrayAdapter<String> aa; 
     aa = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, ListValues); 
     listview.setAdapter(aa); 

     listview.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> parent, final View view, int position, long id) 
      { 
       // Get Item Clicked 
       String ItemSelected = (String)listview.getItemAtPosition(position); 

       // Access "value" containing "Hello World" 
      } 
     } 
    } 

我需要訪問成員變量valueMainActivity類的onItemClick()。請告訴我如何去做。

+0

你有沒有把它添加到ListValues? – Piyush

回答

1

只需使用:

MainActivity.this.value; 

甚至更​​簡單,就好像它是OnClickListener的成員:

value 

也會起作用。

0

你宣佈它在全球範圍,所以你可以直接使用它

@Override 
      public void onItemClick(AdapterView<?> parent, final View view, int position, long id) 
      { 
      //Get Item Clicked 
      String ItemSelected = (String)listview.getItemAtPosition(position); 

      Toast.makeText(getApplicationContext,value,Toast.LENGTH).show(); 
               ^
               here 
}