安卓切换 Activity

标签 android android-intent android-activity

我有 2 个 Activity 。一个名为 Login,另一个名为 ListDealsLogin 有一个带有提交按钮的表单,当按下该按钮时,应该将我们的 Activity 切换到 ListDeals。这行得通。

但是,在 Logcat 中,我没有收到一条消息说 Activity 已经开始。此外,当在 ListDeals 中时,如果用户按下后退按钮,这两个 Activity 都应该被终止。我环顾四周,这就是我想出的:

public class Login extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.login_screen);

    Button submit=(Button)findViewById(R.id.submit);
    submit.setOnClickListener(onSubmit);
}

private View.OnClickListener onSubmit=new View.OnClickListener() {

    @Override
    public void onClick(View view) {
        Intent myIntent=new Intent(view.getContext(),ListDeals.class );
        startActivityForResult(myIntent,0);

    }
};

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.login_screen, menu);
    return true;
}

@Override
public void onActivityResult(int requestCode,int resultCode, Intent data) {
    if(resultCode==2) {
        finish();
    } 
}

}

public class ListDeals extends Activity {
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.deals_list);
        System.out.println("starting activity");
    }

    @Override
    protected void onDestroy() {
        System.out.println("dude");
        setResult(2);
        super.onDestroy();


    }

    protected void onStop(){
        setResult(2);
        super.onStop();

    }

}

但是,当我按下后退按钮时,它会将我带回到 Login Activity ,这不是我想要的。

最佳答案

在您的点击处理程序 onSubmit 中,只需完成您的登录 Activity ,就像这样。这样,它就不会在 Activity 堆栈上,因此,从您的其他 Activity 中按下后退会将用户带回到他们开始的地方。

private View.OnClickListener onSubmit=new View.OnClickListener()
{
    @Override
    public void onClick(View view)
    {
        Intent myIntent=new Intent(view.getContext(),ListDeals.class);
        startActivity(myIntent);
        finish();
    }
};

此外,为了解决您的第二个问题,请使用 Log class methods ,例如用于调试消息的 Log.iLog.d,它们将显示在 logcat 中。

关于安卓切换 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11441908/

相关文章:

java - 使用接口(interface)从 Activity 到 Fragment 进行通信

java - Libgdx - 如何加载一个巨大的 Sprite 表,使其不呈现黑色?

android - 如何根据 VectorDrawables 中的 Material 设计指南为应用程序图标创建渐变长阴影?

audio - Dialogflow,从音频中检测意图

Android - 在安装和启动时将数据从链接传递到应用程序

android - 如何从Android中的 fragment 单击按钮打开 fragment

android - singleTask Activity 未正确加载

java - android应用程序执行过程中的错误

java - 如何使用 Retrofit2 下载文件?

java - BitmapFactory.decodeByteArray() 在二值化位图上返回 null