Хорошо, позвольте мне сначала сказать: это не так, как это подразумевалось под Android SDK.у вас должна быть активность для каждого изменения экрана контента, которая реализуется путем переключения просмотра контента здесь.может быть, посмотрите здесь, если вы не сделали этого: http://developer.android.com/guide/topics/fundamentals.html
правильным способом (с действиями), пользователи могут вернуться с помощью системной кнопки, так что в основномнет необходимости иметь кнопку, и пользователи будут ожидать, что система-кнопка будет работать так.теперь нажатие на системную кнопку заставляет приложение закрываться и показывать то, что было открыто ранее.
однако можно сделать это так, как вы пытались.вот короткий фрагмент:
public class Start extends Activity {
/** Called when the activity is first created. */
@Override
protected void onCreate(Bundle savedInstanceState) {
LayoutInflater mLayoutInflater = getLayoutInflater();
final LinearLayout mLinearLayoutIntro = (LinearLayout) mLayoutInflater.inflate(R.layout.intro, null);
setContentView(mLinearLayoutIntro);
final LinearLayout mLinearLayoutFrontMenu = (LinearLayout) mLayoutInflater.inflate(R.layout.frontmenu, null);
Button continueButton = (Button) findViewById(R.id.continuebutton);
continueButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
setContentView(mLinearLayoutFrontMenu);
}
});
final LinearLayout mLinearLayouAboutSc2g = (LinearLayout) mLayoutInflater.inflate(R.layout.aboutsc2g, null);
final Button aboutAppButton = (Button) mLinearLayoutFrontMenu.findViewById(R.id.aboutapp);
aboutAppButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
setContentView(mLinearLayouAboutSc2g);
}
});
final Button backButton = (Button) mLinearLayoutFrontMenu.findViewById(R.id.backbutton);
backButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
setContentView(mLinearLayoutIntro);
// Perform action on click
}
});
super.onCreate(savedInstanceState);
}
}
Вы видите, в вашем коде есть небольшая разница.Первая ошибка в вашем коде заключалась в том, чтобы привязывать прослушиватели кликов только к первой кнопке (возможно, скопировать / вставить, а затем забыть).
секунда, если вы хотите решить эту проблему таким образом, вам нужно вручную раздувать макеты,в противном случае вы получите нулевые указатели повсюду, потому что эти макеты и их дочерние элементы (кнопки и т. д.) создаются лениво (только когда они необходимы, например, вызываются в setcontentview).
и третье: хорошо ... действительно, делайте ваше приложение с одним действием на каждый экран контента :)