0

私はシンプルなカーソルアダプターを入れているリストフラグメントを持っています。ただし、最初の列のみがレイアウトにバインドされています。これがコードです。

public class ContactList extends ListFragment

{
private ActivityDbAdapter mDbHelper;
private Long mRowId=Long.valueOf(1);
Activity mContext;


@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) 
{
    mContext=getActivity();
    mDbHelper=new ActivityDbAdapter(mContext);
    mDbHelper.open();
    Cursor activity = mDbHelper.fetchContacts(mRowId);
    if (activity.moveToFirst())
    {


    String[] from = new String[]{ActivityDbAdapter.COLUMN_NAME_CONTACT1 ,
            ActivityDbAdapter.COLUMN_NAME_CONTACT2,ActivityDbAdapter.COLUMN_NAME_CONTACT3,
            ActivityDbAdapter.COLUMN_NAME_CONTACT4, ActivityDbAdapter.COLUMN_NAME_CONTACT5};



    int[] to = new int[]{R.id.contacts};

    SimpleCursorAdapter contacts = 
        new SimpleCursorAdapter(mContext, R.layout.activity_contact_row, activity, from, to);

    setListAdapter(contacts);
    }

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

}

}

... ここでは、Contact1 のみがレイアウトに表示されています。または、最初に持っている列。私が読んだことから、すべての列を正しくバインドするために for ループを使用する必要はなかったということでしたが、そうですか? ここで何かが欠けていない限り。どんな助けでも大歓迎です。

4

2 に答える 2

0

R.id.contacts配列内にはアイテム()が1つだけありますto; したがって、データに使用/表示されるビューは1つだけです。他のビューのIDも追加する必要があります。

于 2013-01-15T00:50:27.637 に答える
0

ListFragment古い方法の代わりにこの方法を使用してください。

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) 
{
    mContext=getActivity();
    mDbHelper=new ActivityDbAdapter(mContext);

    mDbHelper.open();
    Cursor activity = mDbHelper.fetchContacts(mRowId);
    mDbHelper.close();

    String[] from = new String[]{ActivityDbAdapter.COLUMN_NAME_CONTACT1 ,
            ActivityDbAdapter.COLUMN_NAME_CONTACT2,ActivityDbAdapter.COLUMN_NAME_CONTACT3,
            ActivityDbAdapter.COLUMN_NAME_CONTACT4, ActivityDbAdapter.COLUMN_NAME_CONTACT5};


    int[] to = new int[]{R.id.contacts};

    SimpleCursorAdapter contacts = 
        new SimpleCursorAdapter(mContext, R.layout.activity_contact_row, activity, from, to);

    setListAdapter(contacts);

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

}
于 2013-01-14T23:12:54.177 に答える