0

SimpleCursorAdaptor を使用して 2 列のリストビューを読み込んでいます。コードは次のとおりです。

        mCursor = managedQuery(MyobiliseData.CONTENT_URI, projection, null, null, null);

    //3. Attach the data to the listview using an adaptor
    SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, 
            R.layout.list_item_custom_font, 
            mCursor, 
            new String[]{MyobiliseData.Columns.CUSTOMER_NAME,MyobiliseData.Columns.ADDRESS},
            new int[] {R.id.text1,R.id.text2}
            );
     listView1.setAdapter(adapter);

リスト内の項目が選択されているときにデータにアクセスしようとしていますが、使用するオブジェクトのタイプがわかりません。HashMap オブジェクトを使用すると失敗します。

HashMap<String, String> item =  (HashMap<String,String>) listView1.getAdapter().getItem(position);

どんな助けでも大歓迎です。

ありがとう

4

1 に答える 1

2

次のように使用して、カーソルから特定のインデックスのアイテムを取得できます。

listView1.setOnItemClickListener(new OnItemClickListener()
{
    public void onItemClick(AdapterView adapterView, View view, int position, long id)
    {
         mCursor.moveToPosition(position);
         String customerName=mCursor.getString(mCursor.getColumnIndex(MyobiliseData.Columns.CUSTOMER_NAME));
         String address=mCursor.getString(mCursor.getColumnIndex(MyobiliseData.Columns.ADDRESS));
         //Use CustomerName and address
    }
});
于 2012-06-13T04:38:26.563 に答える