gpt4 book ai didi

android - 动态更改 ListView 的分隔线高度?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:33:23 24 4
gpt4 key购买 nike

这个问题已经在这里问过a link

另外我想澄清一下这个问题我在 Listview 中有 10 个列表项我想让每个列表项的 deviderheight 与第一个项目不同,它应该是 setDividerheight(2) 对于第二个 setDividerheight(4) 就像这..

我做了一个自定义的 Adapter,我在其中设置了我的 Layout Like

public View getView(int position, View convertView, ViewGroup parent) {
View v = super.getView(position, convertView, parent);

if(position ==2)
{
if (v != convertView && v != null) {
ViewHolder holder = new ViewHolder();

// TextView tv = (TextView) v.findViewById(R.id.artist_albums_textview);
// holder.albumsView = tv;

convertView = mInflater.inflate(R.layout.jazz_artist_list_item, null);
holder.albumsView = (TextView)convertView.findViewById(R.id.artist_albums_textview);

// lv.setDividerHeight(8);
v.setTag(holder);
}
}
else
{
if (v != convertView && v != null) {
ViewHolder holder = new ViewHolder();

convertView = mInflater.inflate(R.layout.jazz_artist_list_item, null);
holder.albumsView = (TextView)convertView.findViewById(R.id.artist_albums_textview);

// lv.setDividerHeight(2);
v.setTag(holder);
}
}
}

但这似乎无法正常工作。

关于如何动态设置 Listview 的分隔线高度的任何想法

问候,拉西米康

最佳答案

//set Divider as you like   

listView.setDivider((Drawable) getResources().getDrawable(R.drawable.orange));

//then set the height dynamically

listView.setDividerHeight(1);

在你的 Activity 中有 ListView。不是适配器类。

如果你在问题中写的是什么。这样做:

让每个 listView Item 布局包含一个 TextView 和一个 View(每个项目后的分隔线),然后根据您在 getView() 方法中获得的位置参数更改 View 的高度。

ListView 项目布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="5dp" >
<TextView
android:id="@+id/label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/logo"
android:padding="5dp"
android:textSize="14dp" >
</TextView>
<View
android:id="@+id/view"
android:layout_width="fill_parent"
android:layout_height="1dp"
android:layout_below="@id/label"
android:background="@drawable/orange" />
</RelativeLayout>

现在在适配器类中,您的 ViewHolder 包含 TextView 和 View。

所以,

Holder.View = (View)convertView.findViewById(R.id.view);
if(position == 0){
(Holder.View).setHeight(2);
}

等等。

关于android - 动态更改 ListView 的分隔线高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11858180/

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