以编程方式创建没有 xml 布局的列表视图

发布于 2024-12-12 01:38:06 字数 969 浏览 0 评论 0原文

我发现这个示例创建了一个自定义列表视图:

public class UsersListActivity extends ListActivity{    
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);         
            String[] statesList = {"listItem 1", "listItem 2", "listItem 3"};
            setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item,
                    statesList)); 
            ListView lv = getListView(); 

            lv.setOnItemClickListener(new OnItemClickListener() {
                public void onItemClick(AdapterView<?> parent, View view,
                        int position, long id) {


                     Toast.makeText(getApplicationContext(),
                     "You selected : "+((TextView) view).getText(), Toast.LENGTH_SHORT).show();
     }
            });

        }

}

但是,他们为每行使用 xml 布局。这是好的做法吗?如果我想以编程方式创建自己的布局并在适配器中使用它怎么办?

我想使用 xml 布局会更容易,但很高兴知道

I found this example to create a custom listview:

public class UsersListActivity extends ListActivity{    
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);         
            String[] statesList = {"listItem 1", "listItem 2", "listItem 3"};
            setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item,
                    statesList)); 
            ListView lv = getListView(); 

            lv.setOnItemClickListener(new OnItemClickListener() {
                public void onItemClick(AdapterView<?> parent, View view,
                        int position, long id) {


                     Toast.makeText(getApplicationContext(),
                     "You selected : "+((TextView) view).getText(), Toast.LENGTH_SHORT).show();
     }
            });

        }

}

However, they are using a xml layout for each row. Is this good practice? What if I wanted to create my own layout programmatically and utilize it in the adapter?

I guess it would be easier just to use the xml layout, but it would be nice to know

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

南…巷孤猫 2024-12-19 01:38:06

像这样更改适配器

setListAdapter(new ArrayAdapter(this, 
                    android.R.layout.simple_expandable_list_item_1, statesList));

change adapter like this

setListAdapter(new ArrayAdapter(this, 
                    android.R.layout.simple_expandable_list_item_1, statesList));
只涨不跌 2024-12-19 01:38:06

如果您不想要自定义视图,这是使用默认 Android 布局的最佳实践。如果您想使用自定义列表,您可以随时从 xml 中扩充它并根据列表项呈现数据。

This is the best practice to use the default android layout, if you do not want your customized view. and if you wanted to use your customized list you can always inflate it from xml and render the data according to list item.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文