java - 将第二个 TextView 添加到 customAdapter ListView

标签 java android listview adapter

所以我有一个带有一个 TextView 的 ListView ,我想向其中添加第二个 TextView 。但我无法弄清楚如何修改适配器,然后在我的主要 Activity 中调用它,即使在浏览了 stackoverflow 上的许多类似问题之后也是如此。

这是我的 CustomAdapter.java 现在的样子

 class CustomAdapter extends ArrayAdapter<CharSequence>{

    public CustomAdapter(Context context, CharSequence[] routes) {
        super(context, R.layout.custom_row ,routes);
    }

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

    LayoutInflater routeInflater = LayoutInflater.from(getContext());
    View customView = convertView;
    if(customView == null){customView = routeInflater.inflate(R.layout.custom_row, parent, false);}

    CharSequence singleRoute = getItem(position);
    TextView routeText = (TextView) customView.findViewById(R.id.routeText);
    routeText.setText(singleRoute);

    ///// Textview I want to add
    CharSequence routeNum = getItem(position);
    TextView routeNumText = (TextView) customView.findViewById(R.id.numbersTextView);
    routeNumText.setText(routeNum);
    /////
    return customView;

这是我的 MainActivity.java

 ///// fill listview numbers I want to add
    final String[] routeListviewNumbers = getResources().getStringArray(R.array.routeNumbers);
    //fill list view with xml array of routes
    final String[] routeListViewItems = getResources().getStringArray(R.array.routeList);

   //custom adapter for list view
    ListAdapter routeAdapter = new CustomAdapter(this, routeListViewItems);
    final ListView routeListView = (ListView) findViewById(R.id.routeListView);
    routeListView.setAdapter(routeAdapter);

任何有关如何修改适配器然后在主 Activity 中调用它的帮助将非常感激。谢谢!

最佳答案

我建议创建一个自定义 Route 类,因为此适配器旨在处理一个数组。使用 getter 和 setter 方法为新类中的路由编号和路由项创建一些成员变量。然后,您应该能够在主 Activity 中创建 Route 对象的新数组列表,并迭代现有字符串数组,同时将它们(作为新 Route 对象)附加到新数组。

您必须更改适配器以接受 Route 对象而不是 CharSequence。希望这能为您指明正确的方向。

关于java - 将第二个 TextView 添加到 customAdapter ListView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40875413/

相关文章:

c# - 更新单个 ListViewItem 的文本时如何防止 ListView 闪烁?

java - 如何在 ListView 下方添加 View

java - 使用 Mina 和 Java DSL 的 Camel 负载平衡示例

java stream groupingBy嵌入对象

java - 如何将此代码从 iOS swift 转换为 Android Kotlin

android - Recyclerview StaggeredGridLayoutManager - 查找最后一个可见项目

android - 安卓 : Fill ListView with database

java - 访问osgi bundle 资源

java - 从 android/assets 加载 json ui-skin 文件时出错

android - 在 Android 应用程序中预填充图像的最佳方法是什么?