gpt4 book ai didi

android - 如何在 setupActivity 之后继续执行 mainActivity?

转载 作者:搜寻专家 更新时间:2023-11-01 08:28:09 26 4
gpt4 key购买 nike

在 loginActivity 之后,我的应用程序继续到 setupActivity,用户需要在其中输入他的名字,并且有一个提交按钮将名称上传到 firebase,然后它应该继续到 mainActivity,这对用户来说应该只发生一次。问题是 mSubmitbtn 将名称存储到数据库,但没有继续执行 mainActivity 并且 setupActivity 再次弹出。

public class SetupActivity extends AppCompatActivity {
private EditText mNameField;
private Button mSubmitBtn;
private DatabaseReference mDatabaseUsers;
private FirebaseAuth mAuth;
private ProgressDialog mProgress;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_setup);
mNameField = (EditText) findViewById(R.id.setupNameField);
mSubmitBtn = (Button) findViewById(R.id.setupSubmitBtn);
mProgress = new ProgressDialog(this);
mDatabaseUsers = FirebaseDatabase.getInstance().getReference().child("Users");
mAuth = FirebaseAuth.getInstance();


mSubmitBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startSetupAccount();
}
});
}


private void startSetupAccount() {

final String user_id = mAuth.getCurrentUser().getUid();

final String name = mNameField.getText().toString().trim();

if (!TextUtils.isEmpty(name)) {

mProgress.setMessage("Finishing setup.");
mProgress.show();


mDatabaseUsers.child(user_id).child("name").setValue(name);


mProgress.dismiss();

Intent mainIntent = new Intent(SetupActivity.this, MainActivity.class);
mainIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(mainIntent);
}
}

@Override
public void onBackPressed() {
moveTaskToBack(true);
}

最佳答案

在 Shared Preferences 中设置一个值,用于跟踪应用程序是否处于首次运行状态。这可以在 onCreateonStart 等中进行。

SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
boolean isFirstRun = sharedPreferences.getBoolean("isFirstRun", true);

if (isFirstRun) {
//Set value to false, so does not repeat
sharedPreferences.edit().putBoolean("isFirstRun", false);
//show login activity
startActivity(new Intent(MainActivity.this, LoginActivity.class), REQUEST_FIRST_LAUNCH);
}

关于android - 如何在 setupActivity 之后继续执行 mainActivity?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42890642/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com