Android 使用自定义Listview打开对话框

Android 使用自定义Listview打开对话框,android,android-listview,android-dialog,Android,Android Listview,Android Dialog,我想在单击按钮时打开对话框。我的对话框有listview,它将显示一个图像,每行显示一个文本。但当我将适配器分配给listview时,它抛出异常 以下是我打开对话框的方法: public void openShareDialog() { Dialog d = new Dialog(this); d.setTitle("Select Color Mode"); d.setContentView(R.layout.share_list);

我想在单击按钮时打开对话框。我的对话框有listview,它将显示一个图像,每行显示一个文本。但当我将适配器分配给listview时,它抛出异常

以下是我打开对话框的方法:

public void openShareDialog()

    {
        Dialog d = new Dialog(this);
        d.setTitle("Select Color Mode");
        d.setContentView(R.layout.share_list);

        String s[] = { "Facebook", "Twitter" };
        int image[] = { R.drawable.facebook, R.drawable.twitter };

        ArrayList<HashMap<String, String>> objArayList = new ArrayList<HashMap<String, String>>();

        for (int i = 0; i < 2; i++) {
            HashMap<String, String> listData = new HashMap<String, String>();
            listData.put("text", s[i]);
            listData.put("image", Integer.toString(image[i]));

            objArayList.add(listData);

        }

        String[] from = { "image", "text" };
        int[] to = { R.id.list_image, R.id.text };

        SimpleAdapter listAdapter = new SimpleAdapter(context, objArayList,
                R.layout.share_list_item, from, to);
        ListView lst1 = (ListView) findViewById(android.R.id.list);

        lst1.setAdapter(listAdapter);
        lst1.setOnItemClickListener(new OnItemClickListener() {

            public void onItemClick(AdapterView<?> parent, View view,
                    int position, long id) {

            }
        });

        d.show();

    }
错误就在这里

ListView lst1 = (ListView) findViewById(android.R.id.list);
您试图从主布局而不是对话框的布局访问列表视图,您应该尝试以下操作

ListView lst1 = (ListView) d.findViewById(android.R.id.list);
错误就在这里

ListView lst1 = (ListView) findViewById(android.R.id.list);
您试图从主布局而不是对话框的布局访问列表视图,您应该尝试以下操作

ListView lst1 = (ListView) d.findViewById(android.R.id.list);

它会引发什么异常?请发布错误日志。01-08 13:56:53.835:E/AndroidRuntime(734):致命异常:main 01-08 13:56:53.835:E/AndroidRuntime(734):java.lang.NullPointerException 01-08 13:56:53.835:E/AndroidRuntime(734):位于com.androidhive.MusicLayer.androidBuildingMusicLayerActivity.openShareDialog(AndroidBuildingMusicPlayerActivity.java:1346)01-08 13:56:53.835:E/AndroidRuntime(734):在com.androidhive.musicplayer.AndroidBuildingMusicPlayerActivity$15.onClick(AndroidBuildingMusicPlayerActivity.java:481)01-08 13:56:53.835:E/AndroidRuntime(734):在android.view.view.view.view.performClick(view.java:4084)它会引发什么异常?请发布错误日志。01-08 13:56:53.835:E/AndroidRuntime(734):致命异常:main 01-08 13:56:53.835:E/AndroidRuntime(734):java.lang.NullPointerException 01-08 13:56:53.835:E/AndroidRuntime(734):位于com.androidhive.MusicLayer.androidBuildingMusicLayerActivity.openShareDialog(AndroidBuildingMusicPlayerActivity.java:1346)01-08 13:56:53.835:E/AndroidRuntime(734):在com.androidhive.musicplayer.AndroidBuildingMusicPlayerActivity$15.onClick(AndroidBuildingMusicPlayerActivity.java:481)01-08 13:56:53.835:E/AndroidRuntime(734):在android.view.view.view.view.performClick(view.java:4084)
ListView lst1 = (ListView) d.findViewById(android.R.id.list);