我写这段代码来制作一个带有' yes'的对话框。并且没有'在按下“确定”后出现选项'按钮。 '是'应该引导用户进入ShowResult'活动,它将显示来自'主要活动的用户输入&#39 ;;并且没有'只会有一个祝酒词,说“你已经取消了提交。”#39;
问题是当点击“确定”按钮时,对话框弹出一秒钟,然后意图将显示,覆盖对话框。
如果我点击返回并点击“是”,则活动不会显示用户输入。这是我一直在努力的主要活动代码。我希望不要改变整个结构,因为这是一个学校项目,我们应该使用简单的技术。
Button btnOK;
EditText txtName;
EditText txtCoursename;
RadioButton rdnYear1;
RadioButton rdnYear2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnOK = (Button) findViewById(R.id.btnOK);
btnOK.setOnClickListener(this);
}
@Override
public void onClick(View v) {
Intent intent = new Intent(this, ShowResult.class);
txtName = (EditText) findViewById(R.id.txtName);
txtCoursename = (EditText) findViewById(R.id.txtCoursename);
rdnYear1 = (RadioButton) findViewById(R.id.rdnYear1);
rdnYear2 = (RadioButton) findViewById(R.id.rdnYear2);
intent.putExtra("Name", txtName.getText().toString());
intent.putExtra("Course Name", txtCoursename.getText().toString());
intent.putExtra("Year 1", rdnYear1.isChecked());
intent.putExtra("Year 2", rdnYear2.isChecked());
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setCancelable(false);
switch (v.getId()) {
case R.id.btnOK:
builder.setTitle("You are submitting your data.");
builder.setMessage("Are you sure?");
builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(), "You cancelled the submission.", Toast.LENGTH_SHORT).show();
}
});
builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
startActivity(new Intent(MainActivity.this, ShowResult.class));
}
});
builder.show();
}
}
}
答案 0 :(得分:0)
尝试将意图部分放入开关盒内;添加startActivity(intent);
答案 1 :(得分:0)
您已经在“onClick”的开头创建了一个intent。尝试使用相同的意图,而不是在积极点击后创建另一个新意图。另外,我没有在你需要遵循的switch case中看到 break 语句。
答案 2 :(得分:0)
builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
startActivity(new Intent(MainActivity.this, ShowResult.class));
}
});
builder.show();
}
这里你创建了一个没有数据的新意图
您应该使用之前创建的意图,其中使用了putExtra()
使用它:
builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//////////////////////////// startActivity(意向); \\\\\\\\\\\\\\ } });
builder.show();
}