オンラインの機能に関するドキュメントが見つかりませんでした。Googleはリモートでも役立つものは何も見つかりませんでした。私は元のコードを見つけようとしましたが、失敗しました。(とにかくそれを理解できたのかどうかは疑問です。)誰もこの関数が実際に何をしているか知っています。どの「アイテムID」が返されますか?MonoDroidのGetItemIdAtPositionは何を返しますか?
GetItemAtPosition
がアイテムに含まれる文字列を返すと、GetItemIdAtPosition
は "name"属性の内容を返す可能性があると考えました。しかし、それはいつものように期待通りではありません。
私はこれに基づいて、スピナーを使用:
private void choice_callback (object sender, ItemEventArgs e) {
Spinner spinner = (Spinner)sender;
string toast = string.Format ("Chosen action: {0} at pos {1} ID {2}",
spinner.GetItemAtPosition (e.Position),
e.Position,
spinner.GetItemIdAtPosition(e.Position));
Toast.MakeText (this, toast, ToastLength.Short).Show();
}
出力「を選択アクション:posの3に戻る選択肢がスピナーから選択されたときに出力のために乾杯を使用して
<string-array name="choices">
<item>Choose action</item>
<item name="3">Back to 3</item>
<item name="2">Back to 2</item>
</string-array>
1 ID 1 "などとする。言い換えれば、spinner.GetItemIdAtPosition(e.Position)
の返品はe.Position
と同じであるようです。
サイドノート:アプリは、このスピナーのチュートリアル:http://docs.xamarin.com/android/tutorials/User_Interface/spinnerに基づいています。ドロップダウンリストの項目がその位置以外で識別できるかどうかを調べるために、上記のビットを採用しました。
ありがとうございます。 ID値がどこから来るのか知っていますか?今のところ私は試してみて、 "名前"の値などを抽出するためにあなたの例を使用できるかどうかを確認します。 – Armatus
'ArrayAdapter.CreateFromResource(...)'メソッドを使ってアダプタを取得した場合、pos-0の項目のid-Idとして位置を使用すると思います。項目1のidは1です。のアダプターがこれを行います。たぶん誰かがコメントできますか? – Matthew
ArrayAdapterのコードを見ると、getItemId()メソッドが単に位置を返すことがわかります。https://github.com/android/platform_frameworks_base/blob/master/core/java/android/widget/ArrayAdapter java#L354 –