Android 使用自定义Listview打开对话框
我想在单击按钮时打开对话框。我的对话框有listview,它将显示一个图像,每行显示一个文本。但当我将适配器分配给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);
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);