我是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>
答案 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>