0

皆さん、こんにちは: 誰かがここで私を助けてくれることを願っています。クエリによって生成されたカーソルは、ListViewsimple_list_item_2 によって定義されたレイアウトを取り込みます。インテントを作成するには、クリックしたビューの最初の文字列が必要ですが、文字列 to Go には次のようなものがあります

android.widget.TextView@411fbfb8

今コード。エラーがどこにあるのか理解できません。

SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_2, cursor, columns, ids, CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER);

    final ListView myList=(ListView)findViewById(R.id.listView1);
    myList.setAdapter(adapter);
    myList.setClickable(true);

    /*
     * Click Listener
     */
    myList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> l, View v, int position, long id)
        {
            Log.v("io", "start");
            Intent intent = new Intent(MainActivity.this, WorkActivity.class);

            View buff = myList.getChildAt(position);
            String toGo = buff.findViewById(android.R.id.text1).toString();

            Log.v("io",toGo);
            intent.putExtra("dname", toGo);
            startActivity(intent);
        }
    } );
4

4 に答える 4

0

あなたの内部では、引数を介してonItemClickあなたにリンクされたデータを取得できます。呼び出して、選択したアイテムに関連付けられたデータにアクセスできますadapterAdapterViewgetItemAtPosition(int)

myList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> l, View v, int position, long id)
        {
            Log.v("io", "start");
            Intent intent = new Intent(MainActivity.this, WorkActivity.class);

            View buff = myList.getChildAt(position);
            String toGo = l.getItemAtPosition(position);

            Log.v("io",toGo);
            intent.putExtra("dname", toGo);
            startActivity(intent);
        }
    } );
于 2013-05-18T11:30:47.270 に答える
0

試す:

String toGo = ((TextView)buff.findViewById(android.R.id.text1)).getText().toString()
于 2013-05-18T11:11:53.063 に答える