2013-03-26 55 views
-1

如何從OnItemSelected中獲取變量父級並在onClick中使用它? 我到內的onClick如何在活動中共享變量?

result = parent.getItemAtPostition(pos).toString(); 
selected = (TextView) findViewById(R.id.selected); 
selected.setText(result); 

做到這一點我想這個結果在選定的TextView顯示當我點擊按鈕。 結果將是微調器中的選定項目。這是第一次使用紡紗工,所以我不知道。

MainActivity.java

package com.example.test; 

import android.os.Bundle; 
import android.app.Activity; 
import android.view.View; 
import android.widget.AdapterView; 
import android.widget.AdapterView.OnItemSelectedListener; 
import android.widget.ArrayAdapter; 
import android.widget.Button; 
import android.widget.Spinner; 
import android.widget.TextView; 

public class MainActivity extends Activity implements OnItemSelectedListener{ 

String[] test_array; 
TextView display, selected; 
Button submit; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    Spinner spinner = (Spinner) findViewById(R.id.spinner1); 
    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.test_array, android.R.layout.simple_spinner_item); 
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    spinner.setAdapter(adapter); 
    submit = (Button) findViewById(R.id.submit); 
    submit.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      parent.getItemAtPosition(pos).toString(); 

     } 
    }); 
} 
     @Override 
     public void onItemSelected(AdapterView<?> parent, View view, 
       int pos, long id) { 
      selected = (TextView) findViewById(R.id.selected); 
      String result; 
      // TODO Auto-generated method stub 
      result = parent.getItemAtPosition(pos).toString(); 




     } 
     @Override 
     public void onNothingSelected(AdapterView<?> arg0) { 
      // TODO Auto-generated method stub 

     } 

}

+0

聲明全局變量。 – Raghunandan 2013-03-26 13:46:23

+0

你用什麼問題'spinner.getSelectedItem()。toString();'在按鈕點擊獲取選定的項目? – 2013-03-26 13:48:30

回答

0

你只需要聲明變量作爲數據成員,即就像你聲明test_arraydisplayselected而不是onItemSelected方法內。

public class MainActivity extends Activity implements OnItemSelectedListener 
{ 

    String[] test_array; 
    TextView display, selected; 
    Button submit; 
    String result; // <------- declare the variable here and you can access it through out the activity/class.