在Android中使用微调器更改布局

时间:2014-03-10 07:42:10

标签: android android-layout android-spinner

我正在尝试根据我在微调器内的选择来更改活动的布局。 但在第一次选择之后,旋转器变白了,我无法决定另一种选择。 我正在使用的代码如下:

public class MainActivity extends Activity implements OnItemSelectedListener {

Spinner spinner;
String[] options = { "Modulo1", "Modulo2" };

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

    spinner = (Spinner) findViewById(R.id.spinner);
    ArrayAdapter<String> adapter_state = new ArrayAdapter<String>(this,
            android.R.layout.simple_spinner_item, options);
    adapter_state
            .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(adapter_state);
    spinner.setOnItemSelectedListener(this);

}

int check = 0;

public void onItemSelected(AdapterView<?> parent, View view, int position,
        long id) {
    check = check + 1;
    if (check > 1) {
        int selState = spinner.getSelectedItemPosition();
        switch (selState) {
        case 0:
            setContentView(R.layout.activity_main);

            break;
        case 1:
            setContentView(R.layout.activity2_main);

            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.main, menu);
    return true;
}

}

有什么建议吗? 感谢

1 个答案:

答案 0 :(得分:1)

您指的微调器是您的第一个活动。更换内容后,微调器不再存在。如果在第二个布局中有另一个微调器,则必须重新连接它并再次设置监听器。 基本上你必须在每个setContentView后运行你的onCreate ...

作为旁注,无论你想做什么,这可能都不是你要走的路。要显示另一个完整布局,请更好地使用其他活动。