Android错误在警报对话框中膨胀EditView

时间:2017-06-10 09:44:08

标签: java android eclipse alert

我是android的新手,我正在使用eclipse进行编码。单击按钮时,我需要在我的活动FinalOrder.java中显示警报。这是我的代码

btnPrint.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {               

            View view_table = LayoutInflater.from(v.getContext()).inflate(R.layout.dialog_table, null);

            final EditText table_no = (EditText)view_table.findViewById(R.id.tableno);

            AlertDialog.Builder builder = new AlertDialog.Builder(FinalOrder.this);

            builder.setMessage("Enter Table No.")
                .setView(view_table)
               .setPositiveButton("OK", new DialogInterface.OnClickListener() {
                   public void onClick(DialogInterface dialog, int id) {
                       FinalOrder.this.table_no = table_no.getText().toString();
                   }
               })
               .setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                   public void onClick(DialogInterface dialog, int id) {
                       // User cancelled the dialog
                   }
               })
               .setCancelable(false);

            AlertDialog alert = builder.create();
            alert.show();

            doPrint();
        }

    });

现在它在第一行崩溃了

View view_table = LayoutInflater.from(v.getContext()).inflate(R.layout.dialog_table, null);

和错误日志是:

  

android.view.InflateException:二进制XML文件行#6:二进制XML   文件行#6:错误导致类EditView ... at   android.view.LayoutInflater.onCreateView(LayoutInflater.java:677)....   引起:java.lang.NoClassDefFoundError:找不到使用的类   引导类加载器;没有可用的堆栈跟踪

dialog_table

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<EditView
    android:id="@+id/tableno"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:textColor="#FFF"
    android:layout_toRightOf="@+id/image"/>


</LinearLayout>

1 个答案:

答案 0 :(得分:1)

EditText Not EditView位于您的dialog_table.xml

下面
 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent" >

 <!--Change EditView to EditText -->
 <EditText
android:id="@+id/tableno"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#FFF"
android:layout_toRightOf="@+id/image"/>


 </LinearLayout>