2017-10-16 15 views

回答

3

有几种方法可以做到这一点:

1)拆下EditText数据之前开始ActivityB

2)使用startActivityForResult在你ActivityA

3启动您ActivityB并覆盖onActivityResult)覆盖ActivityA onResume方法,并删除该方法内的EditText数据。使用这种方法,即使您未启动ActivityB,您的EditText数据也可能会被刷新,因此请注意Activity的生命周期。

这样做,只是做:

editText.setText(""); 
+1

请注意,在onResume()中执行此操作也意味着任何中断,例如来电也会刷新数据。 – adnanyousafch

+0

@adnanyousafch,是的,你说得对,我已经编辑我的答案是更精确 – AlexTa

1

只是打电话startActivity(intent)方法之前,通过设置editText.setText("");

1

重置意图设置你的edittext to ("");

EditText name = (EditText)findViewByid(R.id.edittext); 
name.settext("Your Name"); 

Button send = (Button)findViewById(R.id.button); 
send.setOnClickListener(new View.OnClickListener(){ 
     public void onClick(View v) { 
    name.settext(""); 
     Intent activity_b = new Intent(ActivityA.this, ActivityB.class); 
     startActivity(activity_b) 
     } 

    }); 

之前,或者你也可以做

@Override 
public void onResume(){ 
super.onResume(); 
name.settext("); 

} 
0

editText.setText("");

你可以把上面的代码行两种不同的方式

  1. 如果您想在ActivityA来自ActivityB退尽唯一的EditText空,那么只要把它的代码中前行你正在开始ActivityB。 edittext.settext(""); Intent intent = new Intent(ActivityA.this, ActivityB.class); startActivity(intent)

  2. onResume()如果你想涵盖所有不同的情况。无论何时该活动返回,无论是从其他活动还是从后台返回,都会使edittext为空。

希望它能帮助你。

相关问题