我是android新手,我的应用程序中有一个要求。一个应用程序有两个活动(Activity1,Activity2)。在某些条件下(用户选择),Activity2将从Activity1启动。当我们按下Activity2中的后退按钮时。它正在导航到Activity1,但之前的用户选择保持不变。我想在回到Activity1时清除用户选择,我该如何实现?
答案 0 :(得分:1)
从activity1调用带有Intent的activity2 添加以下代码
Intent intent = new Intent(activity1.this,activity2.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
finish();
并将此代码添加到activity2覆盖方法 d
@Override
public void onBackPressed() {
// TODO Auto-generated method stub
super.onBackPressed();
Intent intent = new Intent(activity2.this,activity1.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
finish();
}
答案 1 :(得分:0)
多个选项
1。您可以在activity1
开始时将activity2
中的值设置为默认值。
2。如果activity2
中的noHistory=true
设置为manifest
,那么您可以在{activity1
处开始新的activity2
1}}。
@Override
public void onBackPressed() {
startActivity(new Intent(this, activity1.class));
}
3。您也可以使用onActivityResult中的选项,前提是activity2
为startActivityForResult
答案 2 :(得分:0)
您可以在class StudentClass
{
public function getAllStudent()
{
$host = "localhost";
$database = "mms_db";
$username = "root";
$password = "";
$dns = "mysql:host=$host; dbname=$database";
$connect = new PDO($dns, $username, $password);
$connect->query("set names utf8");
$connect->query("set charset utf8");
$sql = "select * from students";
$result = $connect->prepare($sql);
$result->execute();
$starraye = $result->fetchAll();
return $starraye;
}
}
之后为<?php
include ("StudentClass.php");
$student_object = new StudentClass();
$student_object->getAllStudent();
foreach ($starraye as $rows)
{
echo $rows['fname'];
}
致电finish()
。在此之后,在activity1
中实施startActivity(intent)
并使用onBackPressed
启动activity2
。
答案 3 :(得分:0)
在转到Activity2之前清除该部分