質問

私は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.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top