在活動「A」中,我重寫了onCreateDialog以創建一個EditText對話框 在活動「A」的onCreate中,我調用一個方法調用showDialog,然後我派生另一個活動B使用意圖。Android對話框不等待TextInput和OK點擊
我希望用戶在EditText中輸入一些內容,然後按Ok,然後應該啓動Intent !!。, 但是會發生什麼情況,彈出對話框,新的活動被Intent 。
基本上,代碼不會對OnClickListener等待對話框。它是因爲DialogBox不會停止主UI線程?爲什麼它是這樣的,我需要做些什麼來獲得這種行爲,等待用戶在對話框中輸入內容,然後按確定繼續。
代碼模板
@Override
protected Dialog onCreateDialog(int id) {
switch(id) {
case DIALOG_TEXT_ENTRY:
LayoutInflater factory = LayoutInflater.from(this);
final View textEntryView = factory.inflate(R.layout.alert_dialog, null);
return new AlertDialog.Builder(ExampleActivityy.this)
.setTitle(R.string.name_title_string)
.setView(textEntryView)
.setPositiveButton(R.string.ok_string, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
/* User clicked OK so do some stuff */
}
})
.setNegativeButton(R.string.cancel_string, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
/* User clicked cancel so do some stuff */
}
})
.create();
.../...
.../...
...// further down inside onCreate
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.mTitleRightImageButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent spawnEmptyIntent = new Intent(Intent.ACTION_INSERT, getIntent().getData());
showDialog(DIALOG_TEXT_ENTRY); /// UI does not wait here
onCreateNewList(); // and proceed further to this section
Log.w(TAG, "Intent action string is " + getIntent().getDataString());
startActivity(spawnEmptyListIntent); // and launches this activity.
}
感謝肯定會嘗試, – devgp