我有一个扩展另一个活动(BaseMenuActivity.java)的活动(Categories.java)
在第一个活动中,当我按下操作栏按钮(R.id.search)时,我调用了一个对话框,该对话框具有位于第二个活动(BaseMenuActivity.java)的 EditText(mEdit)。
我的第一个 Activity (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 输入的文本。
谢谢