Android:如何在onItemClick上提取兄弟姐妹信息

时间:2014-08-19 12:20:39

标签: android android-adapter

我使用ViewHolder实现了CustomAdapter。我正在使用以下方法监听列表视图项目上的onclick事件

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> parent, View view,
                        int position, long id) {
                    // TODO Auto-generated method stub  
                }               
            });

如何访问说明测试字段?

以下是由适配器

实例化的xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="10dp"
     >

  <TextView
    android:id="@+id/title"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginBottom="25dp"
    android:layout_marginTop="25dp"
    android:textColor="#cccccc"
    android:textSize="20sp" />
   <TextView
    android:id="@+id/description"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginBottom="25dp"
    android:layout_marginTop="25dp"
    android:textColor="#cccccc"
    android:visibility="invisible"
    android:textSize="20sp" />


</RelativeLayout>

1 个答案:

答案 0 :(得分:1)

单程

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view,
                    int position, long id) {

             TextView tv = (TextView) view.findViewById(R.id.title);
             String value = tv.getText().toString();
             TextView desc = (TextView) view.findViewById(R.id.title);
             String descp = desc.getText().toString();

            }               
        });

onItemClick中,您可以使用视图对象初始化视图。然后从textview获取值。

第二种方式使用

  parent.getItemAtPosition(position); // this is better

在这里,您将使用adapterview(父级)并获取该位置的项目

示例:

 HashMap<String,String> map = (HashMap<String,String> parent.getItemAtPosition(position);
 // assuming you are populating data using hashmap in your case might be different

然后

 String title = map.get("key");