Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
listview上的对话框单击Android 2.3_Android_Xml_Dialog - Fatal编程技术网

listview上的对话框单击Android 2.3

listview上的对话框单击Android 2.3,android,xml,dialog,Android,Xml,Dialog,在显示的对话框中显示“自定义位图图像”时出现问题。图像不为空。我检查了调试模式,并且我的listview已经显示了它的图像 我的主要问题是“我是否错过了一个要求或做了什么 “错了吗?”。请原谅我这一次。我第一次使用对话框 我还想补充一点,对话框在单击时不会显示 单击“我的生成”对话框 @Override protected void onListItemClick(ListView l, View v, int position, long id) { // TODO Auto-gene

在显示的对话框中显示“自定义位图图像”时出现问题。图像不为空。我检查了调试模式,并且我的listview已经显示了它的图像

我的主要问题是“我是否错过了一个要求或做了什么 “错了吗?”。请原谅我这一次。我第一次使用对话框

我还想补充一点,对话框在单击时不会显示

单击“我的生成”对话框

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    // TODO Auto-generated method stub
    super.onListItemClick(l, v, position, id);
    Dialog dialog = new Dialog(A_Test4Activity.this);
    dialog.setContentView(R.layout.custom_dialog);
    dialog.setTitle("Title");
    TextView tv = (TextView)findViewById(R.id.data1);
    ImageView iv = (ImageView)findViewById(R.id.dialog_image);        
    try{
        Bitmap bm = bm_List.get(position);
        iv.setImageBitmap(bm);
    }catch (Exception e) {
        // TODO: handle exception
        e.printStackTrace();
    }   
    dialog.show();
}
我的阵列适配listview

class IconicAdapter extends ArrayAdapter<String>{

        IconicAdapter() {
            super(A_Test4Activity.this, R.layout.row, R.id.label, book_fileName_list);
            }
        public View getView(int position, View convertView,
                ViewGroup parent) {
//              String[] items = book_fileName_list.toArray(new String[book_fileName_list.size()]);
                View row = super.getView(position, convertView, parent);
                ImageView icon=(ImageView)row.findViewById(R.id.icon);
                TextView author = (TextView)row.findViewById(R.id.book_Author);
                TextView bookTitle = (TextView)row.findViewById(R.id.Book_Title);

                icon.setImageBitmap(bm_List.get(position));
                bookTitle.setText(book_title_list.get(position));
                author.setText(List_Author.get(position));


                return(row);
                }
    }
您应该调用活动的showDialog(int)。int值标识一种对话框类型。您必须实现此回调并在此方法(您的对话框)中返回一个对话框对象

你有以下例子:

然后,打电话

showDialog(我的对话)

在您的活动中,使用自定义警报对话框对我很有效。正如“为自定义布局使用AlertDialog可让您利用内置AlertDialog功能,如托管按钮、可选列表、标题、图标等”的最后一行所述。
因为我在做一个自定义对话框,而不需要管理多个对话框,所以这对我来说很有效。

我相信,如果您有多个对话框,使用onCreateDialog是非常有用的。看看这个例子,它显示了两个可能的对话框,使用整数来区分它们。如果我错了,请纠正我。我只有一个要展示。它只是在图像上给出了一个空值,即使图像存在。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:id="@+id/layout_root"
              android:orientation="vertical"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
              >

        <ImageView 
            android:id="@+id/dialog_image"
            android:layout_width="300px"
            android:layout_height="300px"
            android:src="@drawable/temp_book"
               />
    <ScrollView 
        android:id="@+id/scroller"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        >
        <LinearLayout 
            android:layout_width="fill_parent"
            android:layout_height="wrap_content">
        <TextView android:id="@+id/data1"
              android:layout_width="fill_parent"
              android:layout_height="wrap_content"
              android:textColor="#FFF"
              android:textSize="10sp"
              android:text="Data1"
              />
        </LinearLayout>
    </ScrollView>

        <Button 
            android:id = "@+id/confirm"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="CONFIRM"/>
        <Button 
            android:id = "@+id/close"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="CLOSE"/>

</LinearLayout>
02-23 16:00:02.862: W/TextLayoutCache(2286): computeValuesWithHarfbuzz -- need to force to single run

02-23 16:00:04.495: W/System.err(2286): java.lang.NullPointerException

02-23 16:00:04.495: W/System.err(2286):     at test.list.A_Test4Activity.onListItemClick(A_Test4Activity.java:328)

02-23 16:00:04.495: W/System.err(2286):     at android.app.ListActivity$2.onItemClick(ListActivity.java:319)

02-23 16:00:04.495: W/System.err(2286):     at android.widget.AdapterView.performItemClick(AdapterView.java:292)

02-23 16:00:04.495: W/System.err(2286):     at android.widget.AbsListView.performItemClick(AbsListView.java:1058)

02-23 16:00:04.495: W/System.err(2286):     at android.widget.AbsListView$PerformClick.run(AbsListView.java:2514)

02-23 16:00:04.495: W/System.err(2286):     at android.widget.AbsListView$1.run(AbsListView.java:3168)


02-23 16:00:04.495: W/System.err(2286):     at android.os.Handler.handleCallback(Handler.java:605)

02-23 16:00:04.495: W/System.err(2286):     at android.os.Handler.dispatchMessage(Handler.java:92)

02-23 16:00:04.495: W/System.err(2286):     at android.os.Looper.loop(Looper.java:137)

02-23 16:00:04.495: W/System.err(2286):     at android.app.ActivityThread.main(ActivityThread.java:4340)

02-23 16:00:04.495: W/System.err(2286):     at java.lang.reflect.Method.invokeNative(Native Method)

02-23 16:00:04.495: W/System.err(2286):     at java.lang.reflect.Method.invoke(Method.java:511)

02-23 16:00:04.495: W/System.err(2286):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)

02-23 16:00:04.503: W/System.err(2286):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
02-23 16:00:04.503: W/System.err(2286):     at dalvik.system.NativeStart.main(Native Method)
        protected Dialog onCreateDialog(int id) {
        case MY_DIALOG:
            Dialog dialog = new Dialog(A_Test4Activity.this); 
                          dialog.setContentView(R.layout.custom_dialog); 
                          dialog.setTitle("Title");
        break;
        default:
            dialog = null;
        }
        return dialog;
    }