首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ListActivity错误

ListActivity错误
EN

Stack Overflow用户
提问于 2010-08-17 10:18:14
回答 2查看 830关注 0票数 0

我正在使用名为list的xml打开一个ListActivity,其中包含一个名为ListView的列表。我设置了一个数组适配器,并在另一个活动(不是list活动,只是一个普通活动)中工作,一切都很正常。但是,当我尝试打开这个列表活动时,我得到一个错误消息,说我需要一个id为android.R.id.list的ListView。不过,我有那个ListView。我的问题是什么?

我要开始工作的AlertDialog的代码。

公共空位置(ListView parent,View v,int onListItemClick,long id)

代码语言:javascript
复制
    {
        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);




        }

这是我试图让它工作的另一个代码

代码语言:javascript
复制
        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();


        }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 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

票数 0
EN

Stack Overflow用户

发布于 2010-08-17 16:48:11

你的列表视图必须将id声明为android:id="@android:id/list",这样Android才能自动绑定到它。

代码语言:javascript
复制
<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将会显示这个文件。例如:

代码语言:javascript
复制
<TextView android:id="@android:id/empty"
               android:layout_width="fill_parent" 
               android:layout_height="wrap_content"               
               android:text="No data"/>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3498861

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档