0

大家好:我希望有人可以在这里帮助我,由查询生成的光标填充ListView由 simple_list_item_2 定义的布局。要创建意图,我需要单击视图的第一个字符串,但在 String 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

//

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();
     String toGo = (TextView)v.getText();

        Log.v("io",toGo);
        intent.putExtra("dname", toGo);
        startActivity(intent);
    }
} );
于 2013-05-18T15:29:59.250 回答
0

要获得视图,请执行以下操作:

LinearLayout row = (LinearLayout) ((LinearLayout)v);

或者RelativeLayout而不是LinearLayout如果你的情况

然后应用以下代码根据其顺序获取 TextView 的文本:

TextView column = (TextView)row.getChildAt(0);
String text = column.getText().toString();

希望这有帮助

于 2013-05-18T15:41:57.923 回答
0

尝试:

String toGo = ((TextView)buff.findViewById(android.R.id.text1)).getText().toString()
于 2013-05-18T11:11:53.063 回答
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 回答