Android-TextEdit上的物理后退按钮删除内容

Android-TextEdit上的物理后退按钮删除内容,android,listview,button,android-edittext,back,Android,Listview,Button,Android Edittext,Back,我有一个带有EditText和ListView的ListActivity。ListView的内容根据EditText内容的变化而变化。我执行以下步骤: 1) 在EditText 2) 因此,列表视图会发生更改(正确) 3) 我滚动列表视图 4) 我按下后退按钮 此时,我希望返回到上一个活动,同时碰巧EditText被擦除,因此ListView为空 当按下“后退”按钮时,是否有办法告诉编辑文本不要擦除自身 非常感谢 G您可以使用onPause方法存储EditText值。要么在家里,要么在家里 在o

我有一个带有
EditText
ListView的
ListActivity
ListView的内容根据
EditText
内容的变化而变化。我执行以下步骤:

1) 在
EditText

2) 因此,
列表视图
会发生更改(正确)

3) 我滚动列表视图

4) 我按下后退按钮

此时,我希望返回到上一个活动,同时碰巧
EditText
被擦除,因此
ListView
为空

当按下“后退”按钮时,是否有办法告诉编辑文本不要擦除自身

非常感谢


G

您可以使用onPause方法存储EditText值。要么在家里,要么在家里

在onPause方法中,您可以将EditText的当前值保存到共享首选项中

或者,您可以跳过“后退”按钮的事件,并执行与下面相同的操作 您可以使用以下方法

@Override
public void onBackPressed(){
 //your code here to save it to shared pref or global varialble then invoke relevant activity manually
}

要在按下后退按钮时覆盖事件,可以将编辑文本保存在共享首选项中。在您返回或再次打开应用程序时始终保存文本。请查看:

像这样:

private SharedPreferences pref;
在你的第二节课上:

pref.edit().putString("text", Text).commit();
主要类别:

String texto = pref.getString("text", "");
我只想在按下“后退”按钮时完成活动。不管我在做什么,哪个物体有焦点

下面是当按下back时,如何强制完成
活动的方法

@Override
public void onBackPressed() {
    finish();
}

当您按下“后退”按钮时,活动将从后堆栈弹出并销毁。然后您可以在上述方法中调用
finish()
,以完成当前活动。您能否解释一下如何覆盖上述内容以在EditText中保存文本?我更新了答案@拉古南丹:谢谢你指出我有一个半生不熟的答案。APPRECIATED.global vairables表示静态?当我按下后退按钮时,键盘隐藏,当我再次按下它时,它进入堆栈中的上一个活动。您是舒尔吗?这是一个标准文本?您是否使用舒尔u“后退”按钮-而不是“擦除”按钮?您是否在活动中没有覆盖OnBackpressed方法?是的,这是一个标准的编辑文本。安卓手机上有物理擦除按钮吗?
@Override
public void onBackPressed() {
    finish();
}