Android中用户切换Activity时的确认及跳转前弹窗实现求助
解决方案:点击按钮弹出确认框后跳转Activity
没问题,这是Android开发里非常常见的交互场景,我给你整理了完整的实现代码和注意事项,你直接照着来就行:
第一步:给Activity_1的按钮设置点击事件
首先在Activity_1的布局文件(比如activity_1.xml)里添加按钮:
<Button android:id="@+id/btn_launch_activity2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="启动Activity_2" />
第二步:在Activity_1中实现对话框逻辑
接下来在Activity_1的代码里,找到按钮并设置点击监听,弹出确认对话框,用户点击「确定」时启动Activity_2。
如果你用Java:
import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; public class Activity_1 extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_1); Button launchBtn = findViewById(R.id.btn_launch_activity2); launchBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 创建确认对话框 new AlertDialog.Builder(Activity_1.this) .setTitle("确认跳转") .setMessage("确定要启动Activity_2吗?") .setPositiveButton("确定", (dialog, which) -> { // 用户点击确定,启动Activity_2 Intent intent = new Intent(Activity_1.this, Activity_2.class); startActivity(intent); }) .setNegativeButton("取消", (dialog, which) -> { // 用户点击取消,关闭对话框即可 dialog.dismiss(); }) .show(); } }); } }
如果你用Kotlin:
import android.content.Intent import android.os.Bundle import android.widget.Button import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AppCompatActivity class Activity_1 : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_1) val launchBtn = findViewById<Button>(R.id.btn_launch_activity2) launchBtn.setOnClickListener { AlertDialog.Builder(this) .setTitle("确认跳转") .setMessage("确定要启动Activity_2吗?") .setPositiveButton("确定") { _, _ -> val intent = Intent(this, Activity_2::class.java) startActivity(intent) } .setNegativeButton("取消") { dialog, _ -> dialog.dismiss() } .show() } } }
关键注意事项
- 别忘了在
AndroidManifest.xml里注册Activity_2,否则启动时会崩溃:
<activity android:name=".Activity_2" />
这样就完成啦,点击按钮会弹出确认框,确认后就能顺利跳转到Activity_2了~
内容的提问来源于stack exchange,提问作者Bằng Lê Minh
相关产品推荐
相关产品推荐

