我的数据库有两个表,即登录和详细信息。
login用于存储username (PK)
,密码和详细信息用于存储用户名(FK),用户照片,详细信息..
我想保留标题中显示的用户名,以便我可以获取用户名并将其存储在details table.
如何尝试使用bundle获取extras()方法来获取用户名并显示在标题中,但如果我想回到那些页面则无法工作。
知道如何在标头中修复用户名? 或者,当用户点击“存储按钮”时,我该怎么做才能确保用户的详细信息可以存储在正确的用户数据库中。
答案 0 :(得分:0)
您可以在活动中拥有静态对象,该对象包含用户名和用户详细信息。当你意图回来时,你可以将当前对象分配给该静态对象。通过这种方式,您将能够在之前的活动中获得相同的用户。
假设您有一项活动 A ,您可以从中进行详细活动。创建一个公共静态用户对象,其中包含 A 中该用户的所有详细信息。当您从详细信息活动转回时,请指定 A.user =当前用户对象。通过这种方式,您可以在回头后拥有相同的用户,并且可以在标题上显示用户名。
答案 1 :(得分:0)
如果您致电Activity1
---> Activity2
您可以通过此方法发送UserName
Intent intent = new Intent(getBaseContext(), Activity2.class);
intent.putExtra("UserName ", UserName );
startActivity(intent);
要检索Extra()
中的Activity2
,您需要此代码
String UserName = (String) getIntent().getSerializableExtra("UserName ");
希望这有帮助
编辑下方以便更好地理解
public class Activity2 extends Activity {
private String UserName;
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.activity_2);
UserName= (String) getIntent().getSerializableExtra("UserName");
Log.i(Tag, "UserName: "+ UserName);
}
// you can call this method from click or where ever you want
private void AnyMethod()
{
Intent intent = new Intent(getBaseContext(), Activity3.class);
intent.putExtra("UserName ", UserName );
startActivity(intent);
}
}