在微调器中更改布局和活动

时间:2017-09-28 14:58:47

标签: java android android-spinner

首先,我对此很新,所以请耐心等待。 我试图制作一个微调器,如果你选择一个项目,布局和活动将会改变,但我甚至无法实现最简单的微调器。

到目前为止,我唯一得到的代码就是下面的代码,但无论我输入什么代码都没有做任何事情,所以我一定不理解它,请你的答案非常具体。谢谢。第一个答案让我有了一些方法,但是" spinner spin ..... spin.setAdapter(aa)"在OnCreate

下不接受部分
String[] generations = { "Gen2", "Gen3", "Gen4", "Gen5", "Gen6","Gen7"  };

Spinner spin = (Spinner) findViewById(R.id.spinner1);  
spin.setOnItemSelectedListener(this);  
ArrayAdapter aa = new ArrayAdapter(this,android.R.layout.simple_spinner_item,generations);  
aa.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);  
//Setting the ArrayAdapter data on the Spinner  
spin.setAdapter(aa);

public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
    switch (position) {
        case 1:
            Intent intent2 = new Intent(this, gen2.class);
            startActivity(intent2);
            break;
        case 2:
            Intent intent3 = new Intent(this, Gen3.class);
            startActivity(intent3);
            break;
        case 3:
            Intent intent4 = new Intent(this, gen4.class);
            startActivity(intent4);
            break;
        case 4:
            Intent intent5 = new Intent(this, gen5.class);
            startActivity(intent5);
            break;
        case 5:
            Intent intent6 = new Intent(this, MainActivity.class);
            startActivity(intent6);
            break;
        case 6:
            Intent intent7 = new Intent(this, gen7.class);
            startActivity(intent7);
            break;
    }
}

1 个答案:

答案 0 :(得分:0)

这是一个例子,希望它能帮助你更好地理解它:

public class MainActivity extends Activity implements AdapterView.OnItemSelectedListener {

String[] country = { "India", "USA", "China", "Japan", "Other",  };

@Override  
protected void onCreate(Bundle savedInstanceState) {  
    super.onCreate(savedInstanceState);  
    setContentView(R.layout.activity_main);  
    //Getting the instance of Spinner and applying OnItemSelectedListener on it  
    Spinner spin = (Spinner) findViewById(R.id.spinner1);  
    spin.setOnItemSelectedListener(this);  

    //Creating the ArrayAdapter instance having the country list  
    ArrayAdapter aa = new ArrayAdapter(this,android.R.layout.simple_spinner_item,country);  
    aa.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);  
    //Setting the ArrayAdapter data on the Spinner  
    spin.setAdapter(aa);  
}  


//Performing action onItemSelected and onNothing selected  
@Override  
public void onItemSelected(AdapterView<?> arg0, View arg1, int position,long id) {  
    switch (position){
       // Check what position was selected 
       case 1:
       //start activity depending on position 
       Intent intent = new Intent(this, ActivityOne.class);
       startActivity(intent);
       break;

       case 2:
       Intent intent = new Intent(this, ActivityTwo.class);
       startActivity(intent);
       break;

       case 3:
       Intent intent = new Intent(this, ActivityThree.class);
       startActivity(intent);
       break;
}  

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

}  

@Override  
public boolean onCreateOptionsMenu(Menu menu) {  
    // Inflate the menu; this adds items to the action bar if it is present.  
    getMenuInflater().inflate(R.menu.activity_main, menu);  
    return true;  
    }  
}