我很清楚,Android以异步方式管理其对话框,以改善性能,改善内存等。但问题是,我遇到了一个简单的情况,我需要获取用户给出的输入,以跟随应用程序的执行。由于我使用的是对话框,所有这些都会导致应用程序继续流动无论用户在我的提示对话框中写了些什么。有没有解决这个问题的方法?Android异步对话框导致问题?
下面是代码:
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case 1:
startActivity(new Intent("HOMESCREEN"));
break;
case 2:
String searched = prompt("Search", HomeScreen.this);
Intent data = new Intent("RESULTSSCREEN");
data.putExtra("SearchCriteria", "");
startActivity(data);
break;
case 3:
//....
break;
}
return true;
}
这里是提示的代码:
public String prompt(String message, Context ctx)
{
//load some kind of a view
LayoutInflater li = LayoutInflater.from(ctx);
View view = li.inflate(R.layout.prompt_layout, null);
//get a builder and set the view
AlertDialog.Builder builder = new AlertDialog.Builder(ctx);
builder.setTitle("Search");
builder.setView(view);
//add buttons and listener
PromptListener pl = new PromptListener(view);
builder.setPositiveButton("OK", pl);
builder.setNegativeButton("Cancel", pl);
//get the dialog
AlertDialog ad = builder.create();
//show
ad.show();
return pl.getPromptReply();
}
的问题是,在用户完成了写入的搜索条件之前的意图数据正在执行。 Regards
粘贴代码会更有益 – waqaslam