我正在使用名为list的xml打开一个ListActivity,其中包含一个名为ListView的列表。我设置了一个数组适配器,并在另一个活动(不是list活动,只是一个普通活动)中工作,一切都很正常。但是,当我尝试打开这个列表活动时,我得到一个错误消息,说我需要一个id为android.R.id.list的ListView。不过,我有那个ListView。我的问题是什么?
我要开始工作的AlertDialog的代码。
公共空位置(ListView parent,View v,int onListItemClick,long id)
{
Context mContext = getApplicationContext();
Dialog dialog = new Dialog(mContext);
dialog.setContentView(R.layout.custom_dialog);
dialog.setTitle(getText(position));
ImageView image = (ImageView) alertDialog.findViewById(R.id.image);
image.setImageResource(R.drawable.hydrogen);
}这是我试图让它工作的另一个代码
public void onListItemClick(ListView parent, View v, int position,
long id) {
new AlertDialog.Builder(Anions.this);
alertDialog.setContentView(R.layout.custom_dialog);
alertDialog.setTitle(anions[position]);
ImageView image = (ImageView) alertDialog.findViewById(R.id.image);
image.setImageResource(R.drawable.hydrogen);
alertDialog.setButton("Done", new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int which){
return;
}
}
);
alertDialog.show();
}发布于 2010-08-19 06:57:54
好的。所以在浏览了几个网站之后,我终于找到了我需要的东西。无论如何,这里的代码最终适用于任何遇到类似问题的人。
public void onListItemClick(父ListView,视图v,整型位置,长id) {
if (“乙酸盐”.equals(阴离子位置))
{ Dialog dialog =新建对话框(This);
dialog.setContentView(R.layout.custom_dialog);dialog.setTitle(“乙酸盐”);
Dialog.setCancelable(真);
ImageView img = (ImageView) dialog.findViewById(R.id.ImageView01);img.setImageResource(R.drawable.element_el);
dialog.show();
}
我的最终代码可能会与此有所不同,但这是可行的。有关这方面的更多信息,请访问http://www.androidear.com/developers/how-to-display-a-custom-dialog-in-your-android-application/comment-page-1/#comment-1570
发布于 2010-08-17 16:48:11
你的列表视图必须将id声明为android:id="@android:id/list",这样Android才能自动绑定到它。
<ListView android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>请注意,您不是在定义一个新的id,而是使用Android知道的一个id。这允许你在布局文件中有许多不同的布局元素,但android可以找到包含列表元素的布局元素。
这是documentation for ListActivity的一句话。
ListActivity的默认布局由屏幕中央的单个全屏列表组成。但是,如果您愿意,可以通过在onCreate()中使用setContentView()设置自己的视图布局来自定义屏幕布局。为此,您自己的视图必须包含一个id为"@android:id/ list“的ListView对象(如果是在代码中,则为list)
在同一个文件( id为' empty ')中有一个文本视图也是一样的,如果你的ListView是空的,Android将会显示这个文件。例如:
<TextView android:id="@android:id/empty"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="No data"/>https://stackoverflow.com/questions/3498861
复制相似问题