开发一款app,并在其中创建3个Activity,调用finishActivity()方法实现依次结束3给activity
时间: 2024-03-04 12:47:55 浏览: 192
finishActivitys
好的,这是一个关于 Android 开发的问题。为了创建一个包含3个 Activity 的应用程序,您需要进行以下步骤:
1. 打开 Android Studio,创建一个新项目。
2. 在项目中创建3个 Activity,可以通过在项目结构视图中右键单击 app 目录,选择 New > Activity 选项来创建 Activity。
3. 编写适当的代码,以便在每个 Activity 中添加一些视图元素。您可以根据自己的需求添加不同的视图元素。
4. 在每个 Activity 中添加一个按钮或菜单项,以便在点击时调用 finishActivity() 方法。
5. 在每个 Activity 中,您需要使用 startActivityForResult() 方法启动下一个 Activity。例如,在第一个 Activity 中,您需要使用 startActivityForResult() 方法启动第二个 Activity,以便在第二个 Activity 结束后返回结果。
6. 在每个 Activity 中,您需要实现 onActivityResult() 方法,以便在接收到结果后执行适当的操作。
以下是一些伪代码示例:
MainActivity:
```
public class MainActivity extends AppCompatActivity {
private static final int REQUEST_CODE_ACTIVITY_2 = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
startActivityForResult(intent, REQUEST_CODE_ACTIVITY_2);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_CODE_ACTIVITY_2) {
if (resultCode == RESULT_OK) {
finish();
}
}
super.onActivityResult(requestCode, resultCode, data);
}
}
```
SecondActivity:
```
public class SecondActivity extends AppCompatActivity {
private static final int REQUEST_CODE_ACTIVITY_3 = 2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
Button button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(SecondActivity.this, ThirdActivity.class);
startActivityForResult(intent, REQUEST_CODE_ACTIVITY_3);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_CODE_ACTIVITY_3) {
if (resultCode == RESULT_OK) {
setResult(RESULT_OK);
finish();
}
}
super.onActivityResult(requestCode, resultCode, data);
}
}
```
ThirdActivity:
```
public class ThirdActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_third);
Button button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
setResult(RESULT_OK);
finish();
}
});
}
}
```
在这个示例中,每个 Activity 都有一个按钮,当用户点击按钮时,它将启动下一个 Activity。在每个 Activity 的 onActivityResult() 方法中,它将检查接收到的结果并执行适当的操作。在最后一个 Activity 中,当用户点击按钮时,它将 setResult() 方法设置为 RESULT_OK,然后调用 finish() 方法来结束 Activity。这将导致 onActivityResult() 方法在前一个 Activity 中被调用,以便在第二个 Activity 结束后结束第一个 Activity。同样,当第二个 Activity 结束时,它将返回 RESULT_OK 到第一个 Activity,从而结束第一个 Activity。
阅读全文