Ваш вопрос предполагает, что нет необходимости использовать LayoutInflater.Проверьте этот код:
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.basic_layout_1);
Button button = (Button) findViewById(R.id.basic_layout_1_button);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
setContentView(R.layout.basic_layout_2);
}
});
}
Вот все, что вам нужно, я думаю.Но на всякий случай я также публикую файлы XML:
basic_layout_1.xml code
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello world! - Basic layout 1"
android:textSize="32dip">
</TextView>
<Button
android:id="@+id/basic_layout_1_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Basic layout 1 Button">
</Button>
</LinearLayout>
и basic_layout_2.xml code
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello world! - Basic layout 2"
android:textSize="32dip">
</TextView>
</LinearLayout>
// РЕДАКТИРОВАТЬ Что важно, этот метод создания нового экрана приведет к тому, что кнопка «Назад» не будет отображать basic_layout_1, но выйдет из вашего приложения (в примере выше).Если вы хотите отобразить предыдущий экран, вам следует переопределить действие кнопки «Назад» (но в таком случае почему бы не использовать Intent?)