1

カスタムオブジェクトのリストを表示するための単純なListFragmentがあります。

MyListFragment extends ListFragment

private ArrayList<CustomObject> mArrayOfCustomObject;
private ArrayAdapter<CustomObject> mAdapter;

mAdapter = new ArrayAdapter<CustomObject>(context,
    android.R.layout.simple_list_item1,
    mArrayOfCustomObject);
setListAdapter(mAdapter);

問題は、次のような長いリストが表示されることです。

com.example.CustomObject@40XXXXXX
com.example.CustomObject@40XXXXXX
com.example.CustomObject@40XXXXXX
com.example.CustomObject@40XXXXXX
....

アイテムをクリックして詳細情報を表示できるようにしたいので、このようにしています。List<CustomObject>これが、アダプタをではなくにリンクしている理由ですList<String>

が正しく表示されることはわかっていList<String>ますが、各アイテムは、CustomObjectに接続されていないランダムな文字列になります。

これを解決するための最良の方法は何ですか?

4

1 に答える 1

1

toString()独自のカスタムアダプタを作成する以外に、簡単に修正するには、のメソッドをオーバーライドして、CustomObject読み取り可能なものを返すようにします。使用しているアダプタが行にデータを入力するとtoString()、CustomObjectが呼び出され、その結果が表示されます。

CustomObject呼び出された場所にフィールドがあったとしましょうtimePassed

long timePassed = 100000l;
@Override
  public String toString()
  {
    return "Time passed: " + timePassed + " milliseconds";
  }
于 2013-02-07T03:44:13.430 に答える