gpt4 book ai didi

android - 在 Android 中以编程方式创建 ListView 项

转载 作者:搜寻专家 更新时间:2023-11-01 09:08:40 25 4
gpt4 key购买 nike

我有来自 WS 的数据需要显示在 Android ListView 上。数据可以是不同类型的,所以我需要为 ListView 项目动态创建布局,我该怎么做?我想我必须使用 LayoutInflater 但一直将它与现有布局一起使用,并且从未从头开始创建布局。我该怎么做?

最佳答案

你需要为此创建适配器

只需检查此链接,它详细说明了有关使用适配器的所有信息。

http://www.vogella.de/articles/AndroidListView/article.html

//已编辑

在给定的 url 中检查这段代码

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;

public class MySimpleArrayAdapter extends ArrayAdapter<String> {
private final Context context;
private final String[] values;

public MySimpleArrayAdapter(Context context, String[] values) {
super(context, R.layout.rowlayout, values);
this.context = context;
this.values = values;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View rowView = inflater.inflate(R.layout.rowlayout, parent, false);
TextView textView = (TextView) rowView.findViewById(R.id.label);
ImageView imageView = (ImageView) rowView.findViewById(R.id.icon);
textView.setText(values[position]);
// Change the icon for Windows and iPhone
String s = values[position];
if (s.startsWith("iPhone")) {
imageView.setImageResource(R.drawable.no);
} else {
imageView.setImageResource(R.drawable.ok);
}

return rowView;
}
}

其中 R.layout.rowlayout 是每一行的布局您可以在其中定义 ImageView 、 TextView

关于android - 在 Android 中以编程方式创建 ListView 项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9976321/

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