0

クラス オブジェクトをスピナー ビューに配置して表示できますが、表示されているのは wxyg.dash1.object.abc.adb93931 のような完全修飾クラス名です。私のクラスには、次のプロパティがあります。gridNickName、gridName、firstName、lastName、パスワード、および loginURI。スピナービューに表示されるのはこれらのプロパティの1つであるため、設定できるプロパティはありますか? ただし、クラス オブジェクト全体をリストに含める必要があります。アダプタなどを調整する必要がありますか? これは私が簡単に持っているものです。

        //getting arrays from strings file
    String[] regions;
    Spinner gridSpinner;
    Spinner regionSpinner;

    ArrayList <Grid> al = new ArrayList<Grid>();
       Grid Grid1 = new Grid("meet grid1", "GridHB5", "pqppq", "wdwd","wdwdww", "www.google.com");
       Grid Grid2 = new Grid("meet grid2", "GridHB6", "zzz", "uuu", "secret1","www.ebay.com");
       Grid Grid3 = new Grid("meet grid3", "GridHB7", "xxx", "dskd", "secret3","www.amazon.com");
       Grid Grid4 = new Grid("meet grid4", "GridHB8", "qqq", "dsdsd", "secret4","www.me.com");

protected void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView (R.layout.activity_f1);
    setTitleFromActivityLabel (R.id.title_text);

    //declaring variables

    al.add(Grid1);
    al.add(Grid2);
    al.add(Grid3);
    al.add(Grid4);


    Button submitButton = (Button) findViewById(R.id.button1);
    Button cancelButton = (Button) findViewById(R.id.button2);

    //getting arrays from strings file
    regions = getResources().getStringArray(R.array.regions_array);
  //  grids = getResources().getStringArray(R.array.grids_array);

    this.gridSpinner = (Spinner) findViewById(R.id.gridSpinner);
    this.regionSpinner = (Spinner) findViewById(R.id.regionSpinner);

    //creating adapters for both spinners

    final ArrayAdapter<Grid> dataAdapter  = new ArrayAdapter<Grid>(this, android.R.layout.simple_spinner_item, al);
    ArrayAdapter<String> regionAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, regions);

    // drop down layout style with radio button type.

    dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    regionAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

    // attaching data adapters to spinners
    gridSpinner.setAdapter(dataAdapter);
    regionSpinner.setAdapter(regionAdapter);

いつものように、私のためにこれを見てくれて本当にありがとう。これは簡単な修正であり、おそらく私が認識していないプロパティがあると確信しています。

再度、感謝します!

4

2 に答える 2

2

Grid クラスで独自の toString() メソッドを定義します。

public String toString() {
    return gridName; // or gridNickName + lastName; Whatever you want
}
于 2012-06-19T17:47:05.880 に答える
0

ArrayAdapter の代わりにカスタム アダプタを作成し、カスタム アダプタの を実装してgetView()、textView を適切な値に設定する必要があります。あなたが直面している問題は、 ArrayAdapter がリストで提供されているオブジェクトに .toString 関数を単に使用しているためです。あなたの場合はGridオブジェクトです

于 2012-06-19T17:51:26.270 に答える