0
我試圖運行ListView.getChildAt()
方法後,我調用了ListView的setAdapter()
,但它給我NullPointerException
。看起來設置適配器不會導致創建子視圖。正如下面的方法所告訴的,我試圖獲取子視圖,以便我可以更改其背景顏色。我該如何解決這個問題?設置適配器後調用ListView的getChildAt()方法
private void showAnswers(int questionLocation)
{
List<Answer> answers = getAnswersByQuestionLocation(questionLocation);
ArrayAdapter<String> answerAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_activated_1);
for (int i = 0; i < answers.size(); i++)
{
answerAdapter.add(mOptionLetters[i] +". "+ answers.get(i).getAnswerText());
}
mAnswerList.setAdapter(answerAdapter);
if (mAnswerLocationByQuestionLocation.indexOfKey(questionLocation) > -1)
{
Log.v("Child Count",String.valueOf(mAnswerList.getChildCount()));
//mAnswerList.getChildAt(
// mAnswerLocationByQuestionLocation.get(questionLocation))
// .setSelected(true);
}
}
沒有。當有人點擊導航頁面上的下一個或上一個按鈕時,我正在更改背景,以便所選答案可以保留並顯示給用戶。 – Tarik
因此,您必須使用具有「標誌」的'Model'來選擇此答案,然後通知適配器重新創建視圖。 –
任何代碼示例? – Tarik