Java 如何在两个单独的数组中列出问题和答案,并在两个文本视图中交替返回

Java 如何在两个单独的数组中列出问题和答案,并在两个文本视图中交替返回,java,android,android-studio,Java,Android,Android Studio,我有这些问题和答案: Bundle b = getIntent().getExtras(); CharSequence[] questionsCorrect = b.getCharSequenceArray("questionsCorrect"); CharSequence[] answersCorrect = b.getCharSequenceArray("answersCorrect"); 在下一个活动中,我如何将每个问题与每个答案分开,并在两个文本视图中返回它们?创建一个模型,分别表示每

我有这些问题和答案:

Bundle b = getIntent().getExtras();
CharSequence[] questionsCorrect = b.getCharSequenceArray("questionsCorrect");
CharSequence[] answersCorrect = b.getCharSequenceArray("answersCorrect");

在下一个活动中,我如何将每个问题与每个答案分开,并在两个文本视图中返回它们?

创建一个模型,分别表示每个问题和答案

public class QAnsModel implements Serializable
{
    private String question, answer;

    public QAnsModel(String question, String answer)
    {
        this.question = question;
        this.asnwer = answer;
    }

    public String getQuestion()
    {
        return question;
    }

    public String getAnswer()
    {
        return answer;
    }
}
在您的活动中

// Your mentioned code
Bundle b = getIntent().getExtras();
CharSequence[] questionsCorrect = b.getCharSequenceArray("questionsCorrect");
CharSequence[] answersCorrect = b.getCharSequenceArray("answersCorrect");

// Create a list of questions and answers. Make sure both arrays have same length
QAnsModel model;
ArrayList<QAnsModel> dataList = new ArrayList<>();
for(int i = 0; i < questionsCorrect.length; i++)
{
    model = new QAnsModel(questionsCorrect[i].toString(), answersCorrect[i].toString());
    dataList.add(model);
}
并创建布局文件item_main_list_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:orientation="vertical">

    <TextView
        android:id="@+id/itemQuestion"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>

    <TextView
        android:id="@+id/itemAnswer"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>
</LinearLayout>
使用以下命令:

MainListAdapter adapter = new MainListAdapter(this, dataList);
lv.setAdapter(adapter);

这应该可以解决您的问题。

问题和答案是否根据索引相互关联?我的意思是,
questionscorect[0]
answerscorect[0]
有答案吗?非常感谢,这没问题。当我初始化列表视图时,下面的代码会返回一个错误的列表(eu.tecnodatasystem.multiservicezi)。QAnsModel@f703d7a,…)
final ArrayAdapter adapter=新的ArrayAdapter(这是android.R.layout.simple\u list\u item\u 1,dataList);低压设置适配器(适配器)
您能告诉我
数据列表
中的问题和答案是否映射正确吗?如果您想在单个列表项中显示一个问题和答案,那么您必须转到
BaseAdapter
。是的,我尝试使用:
Log.d(“问题”,“问题1:+questionscorect[0])调试应用程序;Log.d(“问题”,“答案1:+answersCorrect[0])
并返回正确的关联。
dataList
返回以下值:
eu.tecnodatasystem.multiservicezi。QAnsModel@e57f6b3,eu.technodatasystem.multiservicezi。QAnsModel@a10c470,eu.technodatasystem.multiservicezi。QAnsModel@39df3e9,eu.technodatasystem.multiservicezi。QAnsModel@9c8086e,…
final ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, dataList); 
lv.setAdapter(adapter)
MainListAdapter adapter = new MainListAdapter(this, dataList);
lv.setAdapter(adapter);