gpt4 book ai didi

android - 从 ArrayAdapter 类更改 ListView 分隔符?

转载 作者:太空狗 更新时间:2023-10-29 15:17:22 25 4
gpt4 key购买 nike

我有一个扩展 ListActivity 的类 (foo),它实例化一个扩展 ArrayAdapter 的类 (fooAdap)。在 fooAdap 中,我使用 getview() 方法填充我的 ListView。

在 foo 类中,我可以调用 getListView().setDividerHeight(0) 并使分隔线消失。有没有办法从 fooAdap 中的 getView() 访问该方法?

foo.java

public class foo extends ListActivity
{
...
protected void onCreate (Bundle savedInstanceState)
{
super.onCreate (savedInstanceState);
...
ListView lv = getListView ();
lv.setDividerHeight (0);
fooAdap foo = new fooAdap (this,android.R.layout.simple_list_item_single_choice, mRowData);
...
}

fooAdap.java

public class fooAdap extends ArrayAdapter
{
...

public View getView (int position, View convertView, ViewGroup parent)
{
...

switch (position)
{
case 1: // show divider for these rows in listview
case 2:
break;

case 3: // hide divider for this row in listview
break;
}
...
}
}

最佳答案

您可以将 currentActivity 对象传递给 fooAdap,这样就可以轻松完成。

或者您可以通过 fooAdap 构造函数传递该 Activity 对象。

 Activity currentActivity=foo.this;

fooAdap foo = new fooAdap (this,android.R.layout.simple_list_item_single_choice, mRowData);
foo.currentActivity=currentActivity;


public class fooAdap extends ArrayAdapter
{
Activity currentActivity;

public View getView (int position, View convertView, ViewGroup parent)
{
...

switch (position)
{
case 1: // show divider for these rows in listview

case 2:
break;

case 3: // hide divider for this row in listview
this.currentActivity.getListView().setDividerHeight(0);
break;
}
...
}


}

这一定会对你有所帮助。

谢谢

关于android - 从 ArrayAdapter 类更改 ListView 分隔符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11568947/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com