0

私はアンドロイドを初めて使用しています。編集テキスト検索を使用してアンドロイドで検索を使用していますが、正常に機能しており、検索のコードは次のとおりです。

inputSearch.addTextChangedListener(new TextWatcher() {

    @Override
    public void onTextChanged(CharSequence s, int start,
            int before, int count) {
        // TODO Auto-generated method stub
        // When user changed the Text
        arrayAdapter.getFilter().filter(s);
        arrayAdapter.notifyDataSetChanged();
    }
    ..........
}}

私は simpleadapter を使用して、2 つの列 col1、col2 を持つリストビューにデータを表示しています。

arrayAdapter = new SimpleAdapter(LabelUser.this, mylistData,
                        R.layout.two_col_row, columnTags, columnIds);
list.setAdapter(arrayAdapter);

リストのクリック時:

list.setOnItemClickListener(new OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> arg0, View v,
            int position, long id) {
        // TODO Auto-generated method stub

        String selectedFromList = (list.getItemAtPosition(position).toString());

        System.out.println(selectedFromList);
        startActivity(new Intent("com.example.mysampleapp.DASHBOARDTAB"));

    }
});

出力は次のようになります。

{col1=A K JOHN, col2=21.45}

私の質問は、col1 の上から文字列を取得する方法です。

例 var = "AK JOHN"

リストビューの作成:

final ListView list = (ListView) findViewById(R.id.listView1);
                ArrayList<HashMap<String, String>> mylistData = new ArrayList<HashMap<String, String>>();

                String[] columnTags = new String[] { "col1", "col2" };
                int[] columnIds = new int[] { R.id.column1, R.id.column2 };
                for (int i = 0; i < labelIdArray.length; i++) {
                    HashMap<String, String> map = new HashMap<String, String>();
                    map.put("col1", labelArray[i]);
                    map.put("col2", labelRateArray[i]);
                    mylistData.add(map);
                    list.setAdapter(arrayAdapter);
                }
4

1 に答える 1

0

最初の列の値を取得したい場合は、次のコードが機能すると思います。

   String selectedFromList = columnTags[position];

試してみて、うまくいったかどうかを教えてください。

于 2013-01-15T12:05:52.283 に答える