1

()を使用してSQLからフォームを取得するリストがありcourse id- course nameます。

私はリストに彼女のハッシュを使用し、リストを提供するアダプターを作成し、それをスピナーに設定します。ただし、logcatには次のような問題があります。

4

2 に答える 2

3

Luksprogによる非常によく説明されたように:

ArrayAdapter では、リソース ID が TextView XML 例外である必要があります。これは、ArrayAdapter が期待するものを提供していないことを意味します。このコンストラクターを使用する場合:

new ArrayAdapter<String>(this, R.layout.a_layout_file, this.file)

R.Layout.a_layout_fileは、次のような最初の要素が TextViewである必要がある xml レイアウトである必要があります。

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" 
    //other attributes 
/>

リスト行のレイアウトを少し違うものにしたい場合は、単純な TextView 要素で次のコンストラクターを使用します。

new ArrayAdapter<String>(this, R.layout.a_layout_file, 
   R.id.the_id_of_a_textview_from_the_layout, this.file)

さまざまなビューを含めることができるレイアウトのidを指定しますが、ArrayAdapter に渡す id (3 番目のパラメーター) を使用して TextView を含める必要があるため、文字列を配置する場所を知ることができます。

于 2012-11-12T11:51:39.530 に答える
3

http://developer.android.com/reference/android/widget/ArrayAdapter.html#ArrayAdapter(android.content.Context , int, T[]) を確認すると、配列アダプターが 2 番目のパラメータは、レイアウトではなくテキスト ビューのリソース IDです。

以下を使用してアダプターを初期化します。

new ArrayAdapter(MainActivity.this, android.R.layout.simple_spinner_item, coursesList);
于 2012-11-12T11:45:07.457 に答える