我想要吐司顯示一個基於數組中的字符串的消息。我有兩個數組和一個listview。當列表視圖中的某個項目被選中時(它是由我的第一個數組中的字符串填充的),我想要一個toast來顯示來自第二個數組的消息。第一個數組中位置爲0的字符串應該對應於第二個數組中位置爲0的字符串。陣列位置決定吐司消息
public class listView_Quiz extends AppCompatActivity {
ListView listView;
ArrayAdapter<String> adapterList;
String [] quizQuestions;
String [] quizAnswers;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listview_quiz);
listView = (ListView) findViewById(R.id.quizList);
quizQuestions = getResources().getStringArray(R.array.quizQuestions);
quizAnswers = getResources().getStringArray(R.array.quizToast);
adapterList = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, quizQuestions) {
listView.setAdapter(adapterList);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {}
當我使用toString.contains,然後在自己的答案中寫入時,我可以得到它的一半工作。但是我正在尋找在陣列位置將每個陣列中進行檢查的解決方案,如果他們匹配,打印第二陣列消息(應答消息)
if (parent.getItemAtPosition(position).toString().contains("Q1")) {
Toast.makeText(getApplicationContext(), "Answer1", Toast.LENGTH_LONG).show();
}
else if (parent.getItemAtPosition(position).toString().contains("Q2")) {
Toast.makeText(getApplicationContext(), "Answer2", Toast.LENGTH_LONG).show();
}
作爲一個測試,我也還嘗試了一些下面的迭代。然而,土司永遠不會被顯示
String i = quizAnswers[0];
String j = quizQuestions[0];
if (parent.getItemAtPosition(position).toString().equals(j)) {
Toast.makeText(getApplicationContext(), i, Toast.LENGTH_LONG).show();
}
差不多,我想要做的是
if (selectedListViewitem(position) == Array2(position)) {Toast message}
這是可能的嗎?或者我將不得不使用toString.contains(String)?由於
請註明的答案正確關閉的問題。 – birdy