2011-12-03 5 views
0

このコードは基本的にデータベースからデータを取り出し、リストから特定の値を除外するのに役立つsearchboxとともにリストに表示します。ActivityからListActivityへの変換

このスナップショットを確認してください!

http://imgur.com/MpkXe

しかし、問題はDataAttach.javaonListItemClick()をサポートしていませんActivityから延長されています。

onListItemClick()を追加したい場合は、 ActivityではなくListActivityからクラスを拡張する必要があります。

ここで問題が発生します。 ListActivityからクラスを拡張すると、自分のビューにsearchboxを含めることができません。

私はデッドロックに陥っています。ありがとう。

DataAttach.java(スニペット)

    symbolarr = dbM.getSymbol(); 

        if (symbolarr != null) { 
         list1 = new String[symbolarr.length]; 

         for (int i = 0; i < symbolarr.length; i++) { 
          list1[i] = symbolarr[i]; 
         } 
        } 

        // ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
        // android.R.layout.simple_list_item_1, symbolarr); 
        // setListAdapter(adapter); 

        lv.setAdapter(new ArrayAdapter<String>(this, 
          android.R.layout.simple_list_item_1, symbolarr)); 

DbManager.java(スニペット)

  public String[] getSymbol() { 
       Cursor cur; 
       try { 
        cur = mDb.rawQuery("select symbol,company_name from scrip", null); 
       } catch (SQLiteException e) { 
        throw new Error(" *** ERROR in cursor *** " + e.getMessage()); 
       } 

       String[] b1 = new String[1326]; 
       int x = 0; 
       if (cur.moveToFirst()) { 
        do { 
         b1[x] = cur.getString(cur.getColumnIndex("symbol")); 
         x++; 
        } while (cur.moveToNext()); 
       } 
       cur.close(); 
       return b1; 
      } 

main.xml

< LinearLayout android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:id="@+id/MainLayout"> 

    < EditText android:id="@+id/txt1" 
    android:layout_height="wrap_content" 
    android:layout_width="fill_parent" 
    android:hint="Search"> 
    < /EditText> 

    < ListView android:id="@+id/list" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" > 
    < /ListView> 

    < /LinearLayout> 

答えて

2

ます

  1. がカスタムレイアウトとListActivityを定義します:あなたはこの@android:id/listのようにIDを設定する必要がありますhttp://developer.android.com/reference/android/app/ListActivity.html注実際にどちらかの道を行くことができます。

  2. ListActivityなし:ListViewsetOnItemClickListener(AdapterView.OnItemClickListener listener)を使用してください。

+0

おかげでトン! 2番目の方法を使用しました。 – GAMA

1
list_view = (ListView) findViewById(R.id.list); 

list_view.setOnItemClickListener(new OnItemClickListener() { 

    public void onItemClick(AdapterView<?> parent, View view, int position, 
       long id) { 
      // TODO Auto-generated method stub 

          // Do here whatever you want 
    } 

}); 
関連する問題