Android如何在不扩展listActivity的情况下使用listView的适配器
我有一个带有选项卡的应用程序。在一个选项卡中,我需要将数据(字符串)放入行中。为此,我选择了 tableLayout
,但当我想在其行上使用 contextmenu
时,它不起作用。
我可以显示 contextmenu
onLongClick
但问题是我无法获取有关所选行的信息来编辑或删除所选行。然后我在讨论中读到,如果我们有很多行,则使用 listView
比 tablelayout
更好。但是我看到的示例扩展了 listactivity
但我不想这样做。
因此,当我尝试在不扩展 listactivity
的情况下处理 listView
时,我不知道该怎么做,我的意思是我从未使用过 listView
code> 之前,所以我尝试在互联网上找到的不同示例来理解它,但它不起作用。这是我到目前为止对 listView
所做的事情:
String [] items=getRessources().getStringArray(R.arra.resolution);
//Resolution is an array of strings
ListView lv=(ListeView) findViewById(R.id.listView);
v.setAdapter(new ArrayAdapter<string>(this, android.R.layout.simple_list_item_1, items);
当我编译它时,我得到一个包含数组元素的列表,但首先,我想更改文本的颜色,但我不能。其次,我想将行动态添加到列表中,但我也不知道该怎么做。我想我必须使用适配器
来做到这一点,但我不知道如何做。 有人可以指导我完成这个吗?我只想知道如何将我的列表附加到适配器,该适配器允许我动态添加行、添加 contextMenu 等。
I have an application with tabs. In one tab I need to put data (strings) in rows. To do so I chose tableLayout
but when I wanted to use a contextmenu
on its rows it doesn't work.
I can show the contextmenu
onLongClick
but the problem is that I can't get the info about the selected row to edit or delete the selected row. Then I read in a discussion that using listView
is better than tablelayout
if we have many rows. But the examples I saw extend listactivity
but I don't want to do this.
So when I try working on a listView
without extending listactivity
I don't know how to do it what I mean is that I've never used listView
before so I try different examples I found on the internet to understand it but it's not working. Here's what I did so far for the listView
:
String [] items=getRessources().getStringArray(R.arra.resolution);
//Resolution is an array of strings
ListView lv=(ListeView) findViewById(R.id.listView);
v.setAdapter(new ArrayAdapter<string>(this, android.R.layout.simple_list_item_1, items);
When I compile it I get a list with elements of my array in it but first, I want to change the color of text which I can't. And secondly I want to add rows dynamically to the list which I don't know how to do either. I think I have to use an adapter
to do it but I don't know how.
Can someone please guide me through this. I just want to know how to attach my list to an adapter
which'll allow me to dynamically add rows, add contextMenu
etc.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
主 Activity 类:
适配器类:
main Activity class:
Adapter class:
main.xml:
您需要定义一个 xml,用于保存每行的数据:
在上面的 xml 中,我还包含了 ImageView,它并不是真正必需的,但这只是为了更新您,我们可以包含其他内容控制也。
&最后你的相关类中应该有一个函数:
main.xml:
You need to define an xml which will be used to hold data of each row:
In the above xml i have also included the ImageView, it is not really required but this is just to update you that we can include the other controls also.
& at the last you should have a function in your related class:
似乎没有人回答您 contextMenu 问题。要获得与您的列表一起使用的上下文菜单,在调用
ListView yourList = getListView();
之后,您必须调用registerForContextMenu(yourList);
并处理您的菜单创建必须实现该方法
然后就可以通过实现该方法来响应点击
It appears that noone has answered you contextMenu question. To get a context menu to work with your list , after you call
ListView yourList = getListView();
you must callregisterForContextMenu(yourList);
And to handle the menu creation you must implement the method
Then you can respond to clicks by implenting the method