私のアプリケーションには画面があり、アクティビティは 1 つしかありません。私の主なアクティビティは次のようなものです: 画面を呼び出すメソッドがありますが、アクティビティを使用しませんでした (使用方法がより複雑であるとどこかで読みました)。メソッドを使用しましたが、問題が 1 つあります。
アクティビティを開くと、loginScreen がOKになります
loginBtn をクリックすると、listScreen が正常に表示されます
しかし、loginScreenに戻るためにlistScreenの戻るボタンをクリックすると、アプリが閉じてエミュレーターのホーム画面が開きます。
通常は;
loginScreen --> loginBtn --> listScreen --> listBtn --> writeScreen
私が欲しいのは、エミュレーターの「戻る」ボタンでこのパスに戻ることです。この方法では、メソッドに 1 つのことしか設定できないため、戻るボタンをオーバーライドしてそれを行いたくありません。
public class EmailActivity extends Activity
{
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
// setContentView(R.layout.main);
loginScreen();
}
public void loginScreen()
{
this.setContentView(R.layout.main);
Button loginBtn = (Button) findViewById(R.id.btnLogin);
loginBtn.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v)
{
listScreen();
}
});
}
public void listScreen()
{
this.setContentView(R.layout.list);
Button listBtn = (Button) findViewById(R.id.btnList);
listBtn.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v)
{
setContentView(R.layout.writeScreen);
}
});
}