0
我有一個活動(Categories.java)當我按下一個操作欄按鈕延伸的其它活動(BaseMenuActivity.java)EDITTEXT不保留文本
在第一活性(R.id.search)我調用一個在第二個Activity(BaseMenuActivity.java)處具有EditText(mEdit)的對話框。
我的第一個活動(Categories.java)聲明如下:
public class Categories extends BaseMenuActivity implements OnItemClickListener {
..............
}
第二個活動(BaseMenuActivity.java)如下:
abstract class BaseMenuActivity extends Activity {
private Context context;
/// Creates the menu items
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main_list, menu);
return true;
}
//Handles item selections from preference menu
@Override
public boolean onOptionsItemSelected(MenuItem item) {
context=this;
if(item.getItemId()==android.R.id.home){
Intent intent = new Intent(this, Categories.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
return true;
}
if(item.getItemId()==R.id.search){
LayoutInflater inflater=this.getLayoutInflater();
AlertDialog.Builder builderbanner = new AlertDialog.Builder(this);
builderbanner.setView(inflater.inflate(R.layout.search_dialog, null));
builderbanner.setTitle("Search.......");
//.setMessage(".........................")
builderbanner.setPositiveButton("OK",
new DialogInterface.OnClickListener() {
EditText mEdit;
String searchWord;
public void onClick(DialogInterface dialog, int which) {
Dialog f=(Dialog) dialog;
mEdit= (EditText)f.findViewById(R.id.searchWord);
searchWord= mEdit.getText().toString();
Intent i= new Intent(context, Love_db.class);
Bundle extracase = new Bundle();
extracase.putString("label", "SEARCH RESULTS");
extracase.putString("searchWord", searchWord);
extracase.putInt("index", 99);
i.putExtras(extracase);
startActivity(i);
dialog.dismiss();
}
});
builderbanner.create();
builderbanner.show();
return true;
}
if(item.getItemId()==R.id.mine){
//startActivity(new Intent(this, SendMyMantinada.class));
return true;
}
if(item.getItemId()==R.id.prefs){
//startActivity(new Intent(this, EditPreferences.class));
return true;
}
return super.onOptionsItemSelected(item);
}
}
我想問一下爲什麼這個的EditText (mEdit)在按下按鈕時不保留其值,或者當我改變方向時爲什麼對話框消失。 我應該怎麼做才能解決這個問題,因爲我想保留我在EditText mEdit中輸入的文本。
謝謝
閱讀android活動的生命週期,並且您需要在方向更改時在onconfigurationchanged()中添加代碼。當您單擊返回按鈕時嘗試使用finish() –
對不起,我不明白我應該做什麼 –