私はAndroidリストとSpinnerで使用するためにそれらを変換する方法に苦しんでいます。文字列配列をSpinnerに入れるのは非常に簡単なので、Listを使って同じことをやっているのは簡単かもしれません。しかし、この時点では、リストをSpinnerのArrayAdapterで使用するための適切なフォーマットにする方法を理解できません。ここで私はアカウント名とスピナーのリストを持っています。どのようにスピナーをリストに入れるのですか?
は、データベースからアカウント名のリストを取得するために私のコードです:返された「リスト」から
//---retrieves all the accounts matching the account_type---
public List getAccounts(String account_type) {
List<String> list = new ArrayList<String>();
Cursor cursor = this.db.query(DBACCOUNTS, new String[] {
ID,
ACCOUNTTYPE,
ACCOUNTNUMBER,
ACCOUNTNAME},
ACCOUNTTYPE + " = " + "'" + account_type + "'",
null,
null,
null,
null,
null);
if (cursor.moveToFirst()) {
do {
//---account_name column number is 3---
list.add(cursor.getString(3));
} while (cursor.moveToNext());
}
if (cursor != null && !cursor.isClosed()) {
cursor.close();
}
return list;
}
を、私は私のスピナーを移入するために何をすべきかが必要ですか?次のコードは明らかに文字列配列ですが、同様の機能を持つListを作成するために必要なものは失われています。ここに私の非稼働ArrayAdapterコードは(account_name_arrayを上から返された「リスト」に設定されている)です。
account_name_spinner = (Spinner) findViewById(R.id.account_name_spinner);
account_name_adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, account_name_array);
account_name_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
account_name_spinner.setAdapter(account_name_adapter);
私はしかし、私はArrayAdapterは、文字列配列を期待していることを知って、私は遠く離れて、ここで追跡しています知っています、私が言ったように、私は正しい方向への良いプッシュが必要です。明らかに、リストを文字列配列に変換するか、リストにスピナーを適合させる方法を変更する必要があります。 Androidは私が理解するのが非常に難しく、PHPのバックグラウンドから来ているよりも多くのデータ構造やデータ型のルールがあります。
あなたは大歓迎です!
これはエラーを示していますか? –