Androidのonitemclickオーバーライド関数内でautocompletetextviewのIDを選択する方法
-
02-01-2020 - |
質問
私は3を持っています autoCompleteTextView
ボックスとして home
, work
, other
.
それで、ホームオートコンプリートボックスでサーバーからデータを取得し、1つのアイテムを選択し、そのアイテムを保存しました home_latlong
弦。同様に、他のオートコンプリート作業から値を取得する必要があり、その値を別の文字列に保存しています home_latlong
. 。以下のコードは示しています onItemClick
保存するオーバーライドされた関数 home_latlong
または work_latlong
.
`
ontemClick(AdapterView<?> adapterView, View view,
int position, long id) {
System.out.println("POSITION ="+position);
for (int i = 0; i < latlong.size(); i++) {
if(i==position){
home_latlong=latlong.get(i);
System.out.println("ARRAY"+latlong.get(i));
}
}
}`
したがって、問題は、いつ保管するかを区別できないことです home_latlong
そしていつ保管するか work_latlong
. 。のIDで試してみました autocompletetextview
しかし、この機能では役に立ちませんでした。
解決
匿名内部クラスを使用してそれを解決しました、
actv1 = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView1);
actv1 .setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View v, int position,
long id) {
// TODO Auto-generated method stub
for (int i = 0; i < latlong.size(); i++) {
if (i == position) {
home_latlong = latlong.get(i);
System.out.println("ARRAY" + latlong.get(i));
}
}
}
});
同様に、 work_latlong
別の匿名内部クラスがあったので、クリックしたオートコンプリートビューを取得できました。
他のヒント
ドキュメントを確認してください AdapterView.OnItemClickListener
:
public abstract void onItemClick (AdapterView<?> parent, View view, int position, long id)
パラメーター
- 親:クリックが発生したAdapterView。
- ビュー:クリックされたAdapterView内のビュー(これはアダプターによって提供されるビューになります)
を使用する必要があります。 初め パラメータ (AdapterView) を識別するための AutocompleteTextView
.
所属していません StackOverflow