java - 如何使用我的 xml 布局文件创建自定义 ListView?

标签 java android android-layout listview firebase

Java code

list view layout #1

如何插入更改我的 ListView 的图形,将此布局文件添加到我的 ListView 中?我应该在我的 java 代码中写些什么来使我的 ListView 的每一行就像我的布局文件一样。谢谢大家!!

最佳答案

首先您需要为您想要的自定义行创建 xml (custom_row.xml):

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">

<TextView
    android:layout_width="wrap_content"
    android:layout_height="8dp"
    android:id="@+id/text" /> </LinearLayout>

然后您需要创建自定义适配器:

public class CustomAdapter extends BaseAdapter {
Context context;
List<String> textArray;
LayoutInflater inflater;

public RutinaAdapter(Context context, List<String> textarray) {
    this.context = context;
    inflater = LayoutInflater.from(context);
    this.textArray = textarray;

}

@Override
public int getCount() {
    return textArray.size();
}

@Override
public Object getItem(int position) {
    return textArray.get(position);
}

@Override
public long getItemId(int position) {
    return position;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    ViewGroup vg;

    if (convertView != null) {
        vg = (ViewGroup) convertView;
    } else {
        vg = (ViewGroup) inflater.inflate(R.layout.custom_row, null);
    }

    String text = textArray.get(position);

    final TextView text = ((TextView) vg.findViewById(R.id.text));

    return vg;
} }

然后您需要将适配器添加到 ListView:

list = (ListView) view.findViewById(R.id.list);  
CustomAdapter adapter = new CustomAdapter(getContext(),textArray);
list.setAdapter(adapter1);

向您的 textArray 添加信息,并通知适配器数据已更改,仅此而已。

关于java - 如何使用我的 xml 布局文件创建自定义 ListView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46246518/

相关文章:

java - 如何从 Web 容器外部查找 JNDI 数据源?

android - 通过gradle运行shell脚本

Android people 应用程序的详细 View 开发

android - 为什么我需要 android.permission.ACCESS_CHECKIN_PROPERTIES

java - 在从 Java ProcessBuilder 运行的 shell 中显示提示

android - 拉伸(stretch) ImageView 高度并保持纵横比

android - AutoLayout对处理iOS屏幕大小的 fragment 有用吗?为什么Android中没有等效的工具?

java - Spring 批处理 : Propagate exception encountered in partitioned step (Stop job execution)

java - JBoss Fuse 6.3.0 CXF 引用教程与 JBoss Deveoper Studio 最新版本如 9.* 或 10.*

java - Mongodb 使用 java 驱动程序查找包含、开头、结尾和精确字符串