2012-01-04 40 views
0

在我正在測驗應用程序。在我的項目測試結束後,我需要保持評論按鈕單擊查看按鈕時,所有出現用於測試的問題必須以正確答案再次顯示一種顏色,錯誤回答一種顏色並超時回答其他顏色。所以我把所有的問題,答案和選定的答案保存在一個數組列表中。 現在處於評論頁面我需要在列表視圖中顯示問題,選項和解釋。因此,我創建了一個listview。但它顯示空指針異常。如何創建一個listview在android中顯示數據?

mycode的:

公共類testreview延伸活動{

private ListView listViewScore = null; 
private ListViewAdapter listViewAdapter = null; 
public static ArrayList<ArrayList<String>> ourstringList1 = Select.stringList1; 
    private ArrayList<ArrayList<String>> usernameArrLst = ourstringList1; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.list); 
    listViewScore=(ListView)findViewById(R.id.list); 
    usernameArrLst = new ArrayList<ArrayList<String>>(); 
    listViewAdapter = new ListViewAdapter(); 
    listViewScore.setAdapter(listViewAdapter); 
} 

class ListViewAdapter extends BaseAdapter{ 

    @Override 
    public int getCount() { 
     // TODO Auto-generated method stub 
     if(usernameArrLst==null){ 
      return 0; 
     } 

     return usernameArrLst.size(); 
    } 

    @Override 
    public Object getItem(int position) { 
     // TODO Auto-generated method stub 
     return usernameArrLst.get(position); 
    } 

    @Override 
    public long getItemId(int position) { 
     // TODO Auto-generated method stub 
     return position; 
    } 

    @Override 
    public View getView(int position, View view, ViewGroup parent) { 
     // TODO Auto-generated method stub 
     View rowView=view; 
     if(rowView==null){ 
      LayoutInflater layoutinflate =LayoutInflater.from(testreview.this); 
      rowView=layoutinflate.inflate(R.layout.listrow, parent, false); 
     } 

     TextView textViewName=(TextView)rowView.findViewById(R.id.tv_case); 
     textViewName.setText((CharSequence) usernameArrLst.get(position)); 

     return rowView; 
    } 

} 

}

+0

你從哪裏得到NullPointerException? – Ian 2012-01-04 09:11:39

+0

我在listViewScore.setAdapter(listViewAdapter)處收到空指針異常; – RaagaSudha 2012-01-04 09:12:50

+0

請發佈例外。另外,請檢查** listViewScore **在null之前是否爲listViewScore.setAdapter(listViewAdapter); **。 – Ian 2012-01-04 09:31:44

回答

1

通過簡單地給人以列表適配器.size()方法之前檢查數組的大小,並嘗試打印在日誌上。我認爲不確定,Select是你的另一個類,其值存儲在StringList1 ArrayList()中,然後嘗試打印。

+0

嗨,感謝您的回覆......我需要小小的澄清......我需要在1個單一頁面中顯示4個帶有選項的問題......所以,我可以只保留textview來顯示審閱頁面,或者我應該保留listview而不是textview ?在這裏需要listview嗎? – RaagaSudha 2012-01-06 06:26:30

+0

我認爲最好使用自定義的listview以正確的方式顯示問題和選項。 – 2012-01-06 07:14:48

+0

+1簡單的答案 – mAc 2012-01-09 08:26:29

相關問題