2011-09-13 58 views
-1

我想问一个人如何在同一活动中同时使用微调器和按钮。 Spinner监听它的onItemListener,然后该按钮也会有一个onClick监听器。所以在我的情况下,它会产生一个错误。我的方案是从微调器中获取选定的字符串,然后从editTexts中获取其余的值,然后点击“submit”将数据发送到服务器。但我认为这两个听众彼此不是很友善?Android微调器和按钮

我设置了这些方法的微调右:

spinner.setOnItemSelectedListener(new OnItemSelectedListener() { 
    @Override 
    public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) { 
     // your code here 
    } 

    @Override 
    public void onNothingSelected(AdapterView<?> parentView) { 
     // your code here 
    } 
}); 

然后我需要把的onclick侦听器按钮:

go.setOnClickListener(new OnClickListener(){ 
    public void onClick(View arg0) 
    { 
    } 

我应该把这个吗?在NothingSelected方法之前或之后?

+1

后的错误。 –

回答

2

我觉得他们都非常友好与相互:)

您从编译器获得
spinner.setOnItemSelectedListener(new OnItemSelectedListener() { 
     @Override 
     public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) { 
      // your code here 
     } 

     @Override 
     public void onNothingSelected(AdapterView<?> parentView) { 
      // your code here 
     } 

    }); 

    go.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View arg0) {  
      // your code here     
     } 
    }); 
-1
public class StackOverflowActivity extends Activity { 

    private static final String[] SPINNER_DATA = new String[] { "Item 1", "Item 2" }; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     Spinner spn = (Spinner) findViewById(R.id.spinner1); 
     spn.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, SPINNER_DATA)); 
     spn.setOnItemSelectedListener(new OnItemSelectedListener() { 

      @Override 
      public void onItemSelected(AdapterView<?> arg0, View arg1, 
        int arg2, long arg3) { 
       // TODO Auto-generated method stub 
       Toast.makeText(getApplicationContext(), 
         "Spinner.onItemSelected()", Toast.LENGTH_LONG).show(); 
      } 

      @Override 
      public void onNothingSelected(AdapterView<?> arg0) { 
       // TODO Auto-generated method stub 
       Toast.makeText(getApplicationContext(), 
         "Spinner.onNothingSelected()", Toast.LENGTH_LONG) 
         .show(); 
      } 
     }); 

     Button btn = (Button) findViewById(R.id.button1); 
     btn.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       Toast.makeText(getApplicationContext(), "Button.onClick()", 
         Toast.LENGTH_LONG).show(); 
      } 
     }); 

    } 
}