2

SQLiteデータベースを使用してListFragmentを実装する最適な方法は何ですか?現在、DBAdapterを作成して、SimpleCursorAdapterにレコードをオープン、クローズ、およびフェッチする作業を容易にしました。私は各タブごとに異なるListViewを表示したいナビゲーションタブを持つActionBarを実装するMainActivityを持っています。ここでSQLiteデータベースでListFragmentを使用するAndroidデザイン

は私ListFragmentです:

public class MyListAdapter extends SimpleCursorAdapter { 

    public MyListAdapter(Context context, int layout, Cursor cursor, String[] from, int[] to) { 
     super(context, layout , cursor, from, to); 
    } 

    @Override 
    public void bindView(View view, Context context, Cursor cursor) { 

     // Create the idno textview with background image 
     TextView idno = (TextView) view.findViewById(R.id.idno); 
     idno.setText(cursor.getSring(3)); 

     // create the material textview 
     TextView materials = (TextView) view.findViewById(R.id.materials); 
     materials.setText(cursor.getString(1)); 
    } 
} 

これはこれについて移動するための方法です:

public class MaterialsListFragment extends ListFragment { 

public DBAdapter db; 

@Override 
public View onCreateView(LayoutInflater inflater, 
ViewGroup container, Bundle savedInstanceState) { 


    return inflater.inflate(R.layout.portrait_material_view, container, false); 
} 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    // create new DBAdapter 
    db = new DBAdapter(getActivity()); 
    db.open(); 

    Cursor c = db.getAllRecords(); 

    String[] from = new String[] { DBAdapter.KEY_IDNO, DBAdapter.KEY_MATERIAL }; 
    int[] to = new int[] { R.id.idno, R.id.materials };   

    // Now create an array adapter and set it to display using our row 
    MyListAdapter materials = new MyListAdapter(this, R.layout.list_cell, c, from, to); 
    setListAdapter(materials); 
} 

ここでは、今のところそれ自身のクラスファイルであるMyListAdapterコードはありますか?あなたが持っているかもしれない提案や、良い例が分かっていれば、私は感謝しています。

答えて

2

私はこれを動作させることができたので、正しい軌道に乗っていると思います。私はそれを実行するためにこの変更を加えなければなりませんでしたが、うまくいくようです。

 MyListAdapter materials = new MyListAdapter(getActivity(), R.layout.list_cell, c, from, to); 

私はこのアプローチを改善するための提案や方法にはまだ興味があります。