0

当我从微调器中选择一个值时,我试图获得屏幕转换。我的微调器只有 2 个值。默认选择第一个。我想要的是,当我单击微调器中的第二个值时,它应该将我带到新屏幕。

请帮忙!

提前致谢!

4

3 回答 3

1

使用 Spinner 的 onItemSelectedListener。这是一个演示,

public class AndroidSpinner extends Activity implements OnItemSelectedListener {

 TextView selection;
 Spinner spin;
 String[] items = { "bangladesh", "bangla", "bd", "australia", "japan",
   "china", "indiaA", "indiaC" };

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


  Spinner spin = new Spinner(this);
  setContentView(spin);

  spin.setOnItemSelectedListener(this);

  ArrayAdapter<String> aa = new ArrayAdapter<String>(this,
    android.R.layout.simple_spinner_item, items);

  spin.setAdapter(aa);
 }

 @Override
 public void onItemSelected(AdapterView<?> parent, View v, int position,
   long id) {
  // Do your Stuff Here
   Intent intent = new Intent(MyActivity.this, NextActivity.class);
        startActivity(intent);

 }

 @Override
 public void onNothingSelected(AdapterView<?> arg0) {
  // TODO Auto-generated method stub
  selection.setText("");

 }
}
于 2012-09-08T11:00:32.083 回答
0

使用下面的代码打开新活动或微调器的新屏幕 onitemselected 事件。

public class SpinnerExample extends Activity implements OnItemSelectedListener { 

    String[] items = { "Dipak", "Aadi", "Bharat", "Pratik", "Usha", "Jayesh", "Deep", "Imran" };

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Spinner mSpn1 = (Spinner) findViewById(R.id.mSpn1);
        mSpn1.setOnItemSelectedListener(this);
        ArrayAdapter<String> adpt = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, items);
        mSpn1.setAdapter(adpt);
    }

    @Override
    public void onItemSelected(AdapterView<?> parent, View v, int position, long id) {
        // Do your Stuff Here
        // For Open New Activity
        Intent mInNewAccount = new Intent(MainActivity.this, SecondActivity.class);
        startActivity(mInNewAccount);
        finish();

        // For Open New Screen
        setContentView(R.layout.second_screen);
    }

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

    }
}
于 2012-09-08T11:07:59.307 回答
0

假设您知道如何设置微调器适配器和所有内容,只需添加代码以在微调器上选择其他项目时转到下一个屏幕。

public void onItemSelected(AdapterView<?> parent, View v, int position, long id) 
{
  if(position ==0)
         //do nothing (assuming that you would want to stay in the same screen)
  else if (position ==1)
     {
         //go to the next screen, probably by using an INTENT to the next activity or using setContentView(theLayoutXmlFile)
     }
 }
于 2012-09-08T11:08:21.090 回答