首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >xml中的ListView,将适配器设置为

xml中的ListView,将适配器设置为
EN

Stack Overflow用户
提问于 2011-07-28 23:32:32
回答 3查看 1.2K关注 0票数 1

我有以下代码:

代码语言:javascript
复制
public class ShowActivity extends ListActivity implements OnItemClickListener {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {       
        super.onCreate(savedInstanceState);
 //       setContentView(R.layout.show_list);

        ListView lv = getListView();

        String[] projection = new String[]{
                BaseColumns._ID,
                DepotTableMetaData.ITEM_NAME,
                DepotTableMetaData.ITEM_AMOUNT,
                DepotTableMetaData.ITEM_UNIT,
                DepotTableMetaData.ITEM_PPU,
                DepotTableMetaData.ITEM_TOTAL,
                DepotTableMetaData.ITEM_COMMENT};

        Cursor c = managedQuery(ContentProviderMetaData.DepotTableMetaData.CONTENT_URI, projection, null, null, ContentProviderMetaData.DepotTableMetaData.DEFAULT_SORT_ORDER);
        String[] columns = new String[]{BaseColumns._ID,ContentProviderMetaData.DepotTableMetaData.ITEM_NAME, ContentProviderMetaData.DepotTableMetaData.ITEM_AMOUNT, ContentProviderMetaData.DepotTableMetaData.ITEM_UNIT, ContentProviderMetaData.DepotTableMetaData.ITEM_PPU, ContentProviderMetaData.DepotTableMetaData.ITEM_TOTAL, ContentProviderMetaData.DepotTableMetaData.ITEM_COMMENT};
        int[] to = new int[]{R.id.lname,R.id.lamount,R.id.lunit,R.id.lppu,R.id.ltotal,R.id.lcomment};
        Log.d("ShowActivity","Cursor, columns, to set - now setting adapter");
        SimpleCursorAdapter simpleadapter = new SimpleCursorAdapter(this,R.layout.list_entry, c, columns, to);
     //   ListView lv = (ListView)findViewById(R.id.ListView);
        this.setListAdapter(simpleadapter);

        lv.setOnItemClickListener(this);
    //    intentCheck();
    }

它工作得很好,但正如你可能已经在我的评论中看到的,我不想通过getListView()创建列表视图,我想做一个普通的setContentView(R.Layout.-)并填充一个在那里定义的列表视图。但我看到的所有教程都是这样做的,我不知道如何根据自己的愿望改变这一点。

我的layout-xml应该是什么样子的?我如何“告诉他使用它”?提前谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-07-28 23:40:21

只要在ListActivity上定义一个带有android:list id的listView,就可以在xml上直接使用setContentView(R.layout.main);:

代码语言:javascript
复制
<ListView android:id="@+id/android:list"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"

            />

从ListActivity直接setListAdapter设置适配器调用

票数 4
EN

Stack Overflow用户

发布于 2011-07-28 23:34:53

不要使用ListActivity作为基类,扩展Activity,将内容设置为布局,获取对扩展的ListView的引用(findViewById(...))然后以这种方式处理适配器的设置。

票数 1
EN

Stack Overflow用户

发布于 2011-07-28 23:41:42

代码语言:javascript
复制
ListView lv = (ListView)findViewById(android.R.id.list);

不需要对.xml进行更改

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6861608

复制
相关文章

相似问题

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