gpt4 book ai didi

android - 自定义适配器未在 textview 中加载 drawableEnd

转载 作者:行者123 更新时间:2023-11-30 03:55:55 29 4
gpt4 key购买 nike

我有自定义适配器,它在 textview 中显示字符串和图标,但在这个 textview 的末尾,我在 xml 中有 drawableEnd,它对所有行都是相同的,如果列表更大,那么屏幕可以加载末尾的箭头不是绘图,当我向下滚动时,如果我在列表中向上,适配器只加载图标和文本。如果我不在适配器中设置 drawable,那么 texview 可以正常绘制,但我想务实地更改我的图标。我可以在 android dev 中看到将在 API 级别 17 中得到支持,但现在我无法在我的适配器中使用它,有没有办法解决这个问题?

这是我的 xml:

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/item"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:layout_gravity="center_vertical"
android:padding="4dp"
android:drawablePadding="4dp"
android:drawableLeft="@drawable/file"
PROBLEM -> android:drawableEnd="@drawable/next" >
</TextView>

和我的适配器代码:

public class MyAdapter extends ArrayAdapter<String> {
Context context;
int layout_resourceId;
ArrayList<String> list_text;

public MyAdapter(Context context, int layout_resourceId, ArrayList<String> list_text) {
super(context, layout_resourceId, list_text);
this.context = context;
this.layout_resourceId = layout_resourceId;
this.list_text = list_text;
}

@Override
public View getView(int position, View convert_view, ViewGroup parent) {
View row = convert_view;
MyItemHolder holder = null;

if(row == null) {
LayoutInflater inflater = ((Activity)context).getLayoutInflater();
row = inflater.inflate(layout_resourceId, parent, false);

holder = new MyItemHolder();
holder.text_view = (TextView)row.findViewById(R.id.item);
holder.icon_view = (TextView)row.findViewById(R.id.item);

row.setTag(holder);
}
else {
holder = (MyItemHolder)row.getTag();
}

//text
String string_item = list_text.get(position);
holder.text_view.setText(string_item);

//icon
MyExtension.myExtension(string_item);
int drawable = MyExtension.file_icon_is;
holder.icon_view.setCompoundDrawablesWithIntrinsicBounds(drawable, 0, 0, 0);

return row;
}
public static class MyItemHolder {
TextView icon_view;
TextView text_view;
}
}

最佳答案

新的 api lv 17 有这方面的工作方法。将 TextView 分离到 TextView 和 ImageView 对我在旧 api 上有用

关于android - 自定义适配器未在 textview 中加载 drawableEnd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13367308/

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