2015-12-21 97 views
0

首先我的英語是弱... 我創建了一個數據庫包含數組是這樣的:創建數據庫的列表視圖,列包含數組

_id>汽車>部分

0 > toyota>第1部分,第2部分,第3部分...

我用來在listview中添加Simplecurseradapter類;它的工作

但我想獲得數組部分Textview數組並顯示它的行;

我試着使用拆分 我想利用這個代碼


@Override 
    public void bindView(View view, Context context, Cursor cursor) 
    { 
     LinearLayout linearLayout=(LinearLayout)view.findViewById(R.id.llayout); 
     TextView car=(TextView)view.findViewById(R.id.dictionaryrawTextView2); 
     ArrayList<String> partslist=new ArrayList<String>(Arrays.asList(cursor.getString(cursor.getColumnIndex("parts")).split(","))); 
     TextView parts[]=new TextView[partslist.size()]; 

     car.setText(cursor.getString(cursor.getColumnIndex("car"))); 
     for(int i=0 ;i<partslist.size();i++){ 
      parts[i]=new TextView(mContext); 
      parts[i].setText(partslist.get(i)); 
      linearLayout.addView(parts[i]); 
     } 
    } 

它不工作的優良.... PLZ

我等着你!

**我試圖做這樣的**

http://i.stack.imgur.com/PVotD.jpg

回答

0

該解決方案使用

getCursor().getString(getCursor().getColumnIndex("a"))); 

更換

mCursor 

getCursor()

0

你應該看看這個cursor.getString(cursor.getColumnIndex("parts")).split(","))線給你結果。

使這樣的:

String testOutput = cursor.getString(cursor.getColumnIndex("parts")).split(",")); 
Log.d("somethinghere", "Parts String: " + testOutput); 

,看看是否能正常工作,然後再慢慢添加代碼,它的其餘部分,看看哪部分出現故障。


然而,

你的根本問題是,你的數據庫設計不當,這不是可擴展的,是不可更新的(容易)。

你應該有2個表格,1個是[_id,cars],另一個是[_id,car_id,part](或者將'car_id'移出第二個表格並且有第三個'查找表' id,car_id,part_id])。這將允許您存儲汽車並將其與任意數量的「零件」相關聯。一對多的關係。

對此的查詢變得稍微複雜一點,但至少可以擴展。

+0

感謝,代碼部分的回報ArrayList中,,但我要查看所有字符串部分在新的TextView中每個項目 – user2402497

+0

感謝y我們的筆記我找到了解決方案 – user2402497