Androidでのアクセスにコンボボックスのようなものが必要です。名前ごとに顧客を選択したいのですが、バックグラウンドではIDを選択する必要があります。実行する方法?
Androidコンボボックスはスピナーと呼ばれます。それでも、gnuguは自分のブログにコンボボックスの独自の実装を投稿しています。 http://www.gnugu.com/node/57 =
スピナーの簡単な例は次のようになります。まず、次のようなコードでXMLコードを編集します
Spinner Android:id="@+id/Spinner01"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
あなたのJavaコードはこのようなものを含むべきであり、オプションは非常に直感的です。Eclipseを使用している場合、いくつかのオプションを提案します
public class SpinnerExample extends Activity {
private String array_spinner[];
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Here come all the options that you wish to show depending on the
// size of the array.
array_spinner=new String[5];
array_spinner[0]="option 1";
array_spinner[1]="option 2";
array_spinner[2]="option 3";
array_spinner[3]="option 4";
array_spinner[4]="option 5";
Spinner s = (Spinner) findViewById(R.id.Spinner01);
ArrayAdapter adapter = new ArrayAdapter(this,
Android.R.layout.simple_spinner_item, array_spinner);
s.setAdapter(adapter);
}
}
お客様IDを選択したアイテムにリンクする必要性に対する代替ソリューション。
テキストを含む単純なセレクターを作成するには、配列リソースを使用します。SpinnerをXMLでセットアップします。
<Spinner Android:id="@+id/spinner"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:entries="@array/colors"/>
スピナーにリンクされたデータがさらに必要な場合は、オブジェクトを使用してスピナーにデータを追加できます。 ArrayAdapterのデフォルトの機能は、任意のオブジェクトでtoString()を呼び出し、それをビューに渡すことです。
if (item instanceof CharSequence) {
text.setText((CharSequence)item);
} else {
text.setText(item.toString());
}
オブジェクトにtoString()を実装すると、スピナーで正しく表示されます。次に、配列からデータを取得するには、ハンドラーをItemSelectedに追加して、シード配列またはArrayAdapterからオブジェクトを取得します。
ArrayAdapter adapter = new ArrayAdapter(activity, Android.R.layout.simple_spinner_item, arrayOfObjects);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
{
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id)
{
Log.d(arrayOfObjects[position]._id);
}
});