1

私のListViewは現在、1列のデータしか表示できません。2列のデータを表示したい。

私のListViewのコードは次のとおりです。

public class ProjectExplorer extends ListActivity {

private projectdatabase database;
protected Cursor cursor;
protected ListAdapter adapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    database = new projectdatabase(ProjectExplorer.this);

    getinfo();
}

private void getinfo() {

    database.open();
    cursor = database.getDataforDisplay();
    adapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1, cursor, new String[] {"project_name"}, new int[] { android.R.id.text1 }, 0);
    setListAdapter(adapter);

}

@Override
public void onListItemClick(ListView parent, View view, int position, long id) {

    super.onListItemClick(parent, view, position, id);

    Cursor c = ((SimpleCursorAdapter)parent.getAdapter()).getCursor();
      c.moveToPosition(position);

      // get project name here

      String str_projectname= c.getString(c.getColumnIndex("project_name"));

      Toast.makeText(this, str_projectname, Toast.LENGTH_LONG).show();


}      

カーソルを返すデータベースクラスのメソッドは次のとおりです。

public Cursor getDataforDisplay () {    

    String[] columns = new String[] {KEY_ROWID, PROJECT_NAME, PROJECT_FINISH_DATE, PROJECT_DIFFICULTY, PROJECT_STATUS};
    Cursor c = projectDatabase.query(DATABASE_TABLE, columns, null, null, null, null, null);

    projectDatabase.query(DATABASE_TABLE, columns, null, null, null, null, null);

    c.moveToFirst();
    return c;

}

_id として定義されている KEY_ROWID も表示したい

4

2 に答える 2

3

android.R.layout.simple_list_item_2 を使用して、データを取得できるテーブルから列番号 2 を指定し、Activity に表示できる場所を指定します - android.R.id.text2

  adapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_2, cursor, new String[] {"project_name","column_no2"}, new int[] { android.R.id.text1, andriod.R.id.text2 }, 0);

また、独自の Listview を指定してカスタム アダプタを作成し、それをゼロから作成してすべてをカスタマイズすることもできます。

于 2012-12-29T19:25:59.827 に答える
1

少なくとも私の意見では、これを達成するための最良の方法は、カスタム アダプターを作成するListViewことです。その場合、単一のリストビュー要素がどのように見えるかを独自のデザインに設定できます。を使用していくつかの配列にデータを入力し、Cursorそれらをカスタム アダプターに設定するだけです。

于 2012-12-29T19:34:59.340 に答える