Android 如何使ArrayAdapter在同一ListView中填充2个ArrayList

Android 如何使ArrayAdapter在同一ListView中填充2个ArrayList,android,string,android-listview,arraylist,android-arrayadapter,Android,String,Android Listview,Arraylist,Android Arrayadapter,我想让两个长度相同的ArrayList出现在一个ListView中,如下所示 Word 1是一个应填充1 ArrayList的TextView,Word 2是另一个应填充不同ArrayList的TextView *这些是文本视图,不是按钮 ArrayList,Word 2是另一个ArrayList> 我的ArrayAdaptor应该是什么样子 如果这是一个重复,请给我一个链接 CustomArrayAdapter.java,在两侧显示相同的ArrayList,这不是我需要的 }好的,不使用重写方

我想让两个长度相同的ArrayList出现在一个ListView中,如下所示

Word 1是一个应填充1 ArrayList的TextView,Word 2是另一个应填充不同ArrayList的TextView

*这些是文本视图,不是按钮

ArrayList,Word 2是另一个ArrayList>

我的ArrayAdaptor应该是什么样子

如果这是一个重复,请给我一个链接

CustomArrayAdapter.java,在两侧显示相同的ArrayList,这不是我需要的


}

好的,不使用重写方法,只需执行以下操作:

TextView tv1 = (TextView) v.findViewById(R.id.rhymed_word);
TextView tv2 = (TextView) v.findViewById(R.id.generated_word);

tv1.setText(words1.get(position));
tv2.setText(words2.get(position));

return v;

根据您的描述,您希望显示一个ArrayList中的word1和另一个ArrayList中的word2。ArrayAdapter在您的情况下不起作用,因为每行有两个数组要显示。一种方法是从BaseAdapter派生类并实现getView。下面是类实现的一部分:

@Override
public View getView(int position, View convertView, ViewGroup parent)
{
    View v = convertView;
    if(v == null) {
         // Inflate a layout for your listview row
    }

    // Assuming the 2 arrays are words1 and words2
    // Assuming the textviews are word1 and word2
    word1.setText(words1[position]);
    word2.setText(words2[position]);

    return v;
}

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

我不确定我是否理解这个问题,你能详细说明一下吗?您是否只希望一个button.setText来自一个ArrayList,而另一个button2.setText来自另一个ArrayList?…因为该描述本身就是一种答案…或者它们只是文本视图。它们看起来像按钮,但无论哪种方式都应该是一样的。请看我对文章的修改。谢谢,好的,但是我的第一个问题呢?您是否希望左侧的文本视图来自一个ArrayList,右侧的文本视图来自每一行的不同ArrayList?您是否有xml或任何代码,或者您只是想要一个起点?添加了一些提供奇怪输出的代码。好的,我看到了困境。getView中的位置是项目所在的listView的位置。我会发一些代码谢谢!这就是解决办法。
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
    View v = convertView;
    if(v == null) {
         // Inflate a layout for your listview row
    }

    // Assuming the 2 arrays are words1 and words2
    // Assuming the textviews are word1 and word2
    word1.setText(words1[position]);
    word2.setText(words2[position]);

    return v;
}

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