0

4 ~ 5 列のリスト ビューがあります。リスト ビューへの値は、データベース クエリによって割り当てられます。リスト ビューは、SimpleCursorAdapter を使用して作成されます。リスト ビューの最初の列の値を取得しようとしていますが、取得できません。それ、どうやったら出来るの???これが私のカスタムアダプターです

private class MyCursorAdapter extends SimpleCursorAdapter
{

    @SuppressWarnings("deprecation")
    public MyCursorAdapter(Context context, int layout, Cursor c,
            String[] from, int[] to,int flags) {
        super(context, layout, c, from, to);
        // TODO Auto-generated constructor stub
    }

     @Override 
      public View getView(int position, View convertView, ViewGroup parent) { 

       //get reference to the row
       View view = super.getView(position, convertView, parent);
       //check for odd or even to set alternate colors to the row background
       if(position % 2 == 0){ 
        view.setBackgroundColor(Color.rgb(238, 233, 233));
       }
       else {
        view.setBackgroundColor(Color.rgb(255, 255, 255));
       }
       return view; 
      } 


}

ここで、アダプターをリストビューに割り当てています

MyCursorAdapter myDataAdapter=new MyCursorAdapter(this,R.layout.list_row_layout,cursor, columns, to, 0);

    listView=(ListView)findViewById(R.id.listView1);

    listView.addHeaderView(getLayoutInflater().inflate(R.layout.list_header, null, false));

    listView.setAdapter(myDataAdapter);

ここにonclickリスナーがあります

listView.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int position,
                long arg3) {
            // TODO Auto-generated method stub
            //View view= 
            String ttsl_can=(( listView.getItemAtPosition(position).toString()));
            Toast.makeText(PendingActivity.this, ttsl_can, Toast.LENGTH_LONG).show();
        }
    });

リストビューの特定の行をクリックすると、応答がandroid.database.SQLiteCursor@40d2f13dとして取得されます

クリックした行の最初の列の値として応答を取得するにはどうすればよいですか??? それを達成するためにコードにどのような変更を加える必要がありますか???

助けてください!!前もって感謝します!!

4

1 に答える 1

0

このようにしてみてください:

    listView.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int position,
                long arg3) {
            // TODO Auto-generated method stub

            Cursor cursor = listView.getItemAtPosition(position);

            // Here you have to getString using index
            String str = cursor.getString(<you column index>);

            Toast.makeText(PendingActivity.this, str, Toast.LENGTH_LONG).show();
        }
    });
于 2013-08-23T11:31:01.080 に答える