0

したがって、ArrayList の値を使用するこのリストがあります (ユーザーがリストに項目を追加する必要があり、String[] に .add を実行できないため、String[] は使用できません)。しかし、今は onItemClick メソッドに問題があります。選択したアイテムからテキストを取得したいのですが、私の本は次のように動作するはずだと言っています:

@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
    dodaj.setText(values[arg2]);

}

しかし、次のエラーが表示されます: The type of the expression must be an array type but it resolve to ArrayList 修正するにはどうすればよいですか?

4

3 に答える 3

1

「値」はArrayListですか? もしそうなら使う

dodaj.setText( (String)values.get( arg2 ) );
于 2012-08-12T17:09:18.550 に答える
0

ArrayList では、常に使用します

arrayList.get(index);

推奨される方法は、アイテム/オブジェクトに toString() メソッドを追加して、優先フィールドを返すことです。

public Student()
{
    ...
    ...
    public String toString()
    {
        return firstName + " " + lastName;
    }
}

arrayList.get(int index) を使用できるようになりました。toString() の出力を出力します。

于 2012-08-12T17:17:39.990 に答える
0

を使用してarraylistを配列に変換する必要がありますarraylist.toarray()

于 2012-08-12T17:13:28.490 に答える