2010-12-28 8 views
0

Wie kann ich zwei Spalten in ListView anzeigen, dass Spalten Daten aus SQLite-Datenbank? In dieser Spalten erste Spalte ist TextView und eine andere Spalte ist EditView. Ich habe unter dem Code versucht. Aber ich habe die folgende AusnahmeWie kann ich zwei Spalten in Listview anzeigen. Diese Spalten Daten stammen aus SQLite-Datenbank

unable to start the activity ComponentInfo:java.lang.NullPointerException. 

der Code ist unten gezeigt.

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.categorynew); 
    lv = (ListView)findViewById(android.R.id.list); 
    getList(); 
} 

public void getList() 
{ 
    int x = 0; 
    cur=db.rawQuery("SELECT * FROM detaillist ORDER BY symbol",null); 
    ArrayList<String> al = new ArrayList<String>(); 
    ArrayList<String> al1 = new ArrayList<String>(); 
    cur.moveToFirst(); 
    while (cur.isAfterLast() == false) { 
     al.add(cur.getString(cur.getColumnIndex("symbol"))); 
     al1.add(cur.getString(cur.getColumnIndex("position"))); 

     cur.moveToNext(); 
    } 
    cur.close(); 
    String[] str = new String[al.size()]; 
    strArray = al.toArray(str); 
    String[] str1 = new String[al1.size()]; 
    strArray1 = al1.toArray(str1); 
    lv.setAdapter(new EfficientAdapter(this)); 
} 

private static class EfficientAdapter extends BaseAdapter { 
    static class ViewHolder { 
     TextView text; 
     EditText text2; 

    } 

    private LayoutInflater mInflater; 
    public EfficientAdapter(Context context) { 
     mInflater = LayoutInflater.from(context); 
    } 
    public int getCount() { 
     return symbols.size(); 
    } 
    public Object getItem(int position) { 
     return position; 
    } 
    public long getItemId(int position) { 
     return position; 
    } 

    public View getView(int position, View convertView, ViewGroup parent) { 
     ViewHolder holder; 
     if (convertView == null) { 
      // convertView = mInflater.inflate(android.R.layout.simple_list_item_1, null); 
      convertView = mInflater.inflate(R.layout.editcategorylist, null); 
      holder = new ViewHolder(); 

      holder.text = (TextView) convertView.findViewById(R.id.symbol); 
      holder.text2 = (EditText) convertView.findViewById(R.id.postion); 

      convertView.setTag(holder); 
     } else { 
      holder = (ViewHolder) convertView.getTag(); 
     } 

     holder.text.setText(strArray[position]); 

     Log.e("text",holder.text.toString()); 
     holder.text2.setText(strArray1[position]); 
     Log.e("text2",holder.text2.toString()); 

     return convertView; 
    } 
} 
+0

Welche Zeile wirft die NullPointerException? –

Antwort

Verwandte Themen