就像我在标题中所说的,我有两个关于用户交互的警报对话框。我的菜单有4个选项:“设置”,“积分”,“促销代码”和“退出一个”,但是当我单击“促销代码”时,出现问题中提到的错误。这是我的代码:
switch ((int) mMergeAdapter.getItemId(position)) {
case 0:
Intent intent2 = new Intent(Browser.this,
SettingsActivity.class);
startActivity(intent2);
break;
case 1:
AlertDialog.Builder builder = new AlertDialog.Builder(Browser.this);
builder.setTitle("Credits");
builder.setMessage("Code\n\nTraabefi\n\nDesign\n\nSamuel 'Samael' Chmura");
builder.setIcon(R.drawable.holo_dark_action_info);
builder.setPositiveButton("OK", null);
AlertDialog dialog = builder.create();
dialog.show();
TextView txt = (TextView)dialog.findViewById(android.R.id.message);
txt.setGravity(Gravity.CENTER);
break;
case 2:
AlertDialog.Builder alert = new AlertDialog.Builder(Browser.this);
alert.setTitle("Enter your promocode.");
final EditText input = (EditText) findViewById(android.R.id.edit);
alert.setView(input);
alert.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
if (input.getText().toString()=="abcd"){
isPremium = true;
}
else {
isPremium = false;
}}});
alert.show();
break;
case 3:
finish();
}
导致错误的行是:
final EditText input = (EditText) findViewById(android.R.id.edit);
alert.setView(input);
android.R.id.edit
是片段的一部分,并且由于错误而指出,该视图已经具有父视图。为了解决您的问题,您可以定义xml,使用充气器检索视图对象并调用setView,并将此作为参数提供。
编辑:
在res / layout文件夹中创建一个xml文件。my_edit_text.xml
用内容称呼它
<?xml version="1.0" encoding="utf-8"?>
<EditText xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/myid"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
并替换
final EditText input = (EditText) findViewById(android.R.id.edit);
alert.setView(input);
和
final View view = LayoutInflater.from(this).inflate(R.layout.my_edit_text, null);
alert.setView(view);
final EditText input = (EditText) view.findViewById(R.id.myid);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句