在scrollView中访问ListView

时间:2015-09-12 08:27:42

标签: android android-listview

我试图搜索这个问题,但是没有人回答过这个问题,所以现在就是这样。 我在滚动视图中使用列表视图。

当我向listview添加一个onitemcliked监听器时,它没有响应。 如何获得listview访问权限?我的意思是我如何获得点击的位置。我知道它是如何正常完成的但是在滚动视图中列表视图没有反复。

这是将onitemcliked listner添加到lisview的代码。

 itemlist.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                long arg3) {
            // TODO Auto-generated method stub
        Toast.makeText(cv, "position:"+arg2, Toast.LENGTH_SHORT).show();    
        }
    });

这是xml

    <?xml version="1.0" encoding="utf-8"?>

<ScrollView 
xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout 
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical"
android:padding="2dp">


<TextView
    android:id="@+id/et_agent_details"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Agent Details"
    android:textSize="18dp" />

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="match_parent"
    android:layout_height="20dp"
    android:src="@drawable/linedivider" />

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Agent"
    android:textStyle="italic" />

<TextView
    android:id="@+id/login_id"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="LoginId"
    android:textSize="15dp"
    android:textStyle="bold" />

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textStyle="italic"
        android:text="Route" />

    <Spinner
        android:id="@+id/route_spinner"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
         >
          <requestFocus />
         </Spinner>

    <TextView
        android:id="@+id/textView4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textStyle="italic"
        android:text="Shop" />

    <TextView
        android:id="@+id/tvShopName"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text=""
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <TextView
        android:id="@+id/tv_shopaddress"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textStyle="italic"
        android:text="Address : " />

    <Button
        android:id="@+id/button_no_order"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:text="No Order" />

</LinearLayout>


<TextView
    android:id="@+id/et2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Product Details"
    android:textSize="18dp" />

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="match_parent"
    android:layout_height="20dp"
    android:src="@drawable/linedivider" />

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <EditText
        android:id="@+id/etSearchBar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:ems="10" >


    </EditText>

    <Button
        android:id="@+id/btn_SearchProduct"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="Search" />

</LinearLayout>

    <TableLayout
    android:id="@+id/displayOrderTableView"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:shrinkColumns="1"
    >

</TableLayout>
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center_horizontal" 
    android:orientation="vertical">


    <ListView
        android:id="@+id/listView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

    </ListView>
<Button
        android:id="@+id/button_order"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="120dp"
        android:layout_height="40dp"
        android:text="Order"
        android:textAlignment="inherit" />
</LinearLayout>



<ImageView
    android:id="@+id/imageView1"
    android:layout_width="match_parent"
    android:layout_height="10dp"
    android:paddingLeft="15dp"
    android:paddingRight="15dp"
    android:src="@drawable/underline" />

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center_horizontal" >

    <Button
        android:id="@+id/button_clear"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="120dp"
        android:layout_height="40dp"
        android:text="Clear"
        android:textAlignment="inherit" />

    <Button
        android:id="@+id/button_submit"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="120dp"
        android:layout_height="40dp"
        android:text="Submit"
        android:textAlignment="inherit" />

</LinearLayout>


</LinearLayout>
</ScrollView>
请帮助我,我坚持这个......这可能是一个非常愚蠢的解决方案。但请帮助我 提前谢谢你。

1 个答案:

答案 0 :(得分:0)

这可能是因为ScrollView的级别高于父级子层次结构中的ListView。因此ScrollView可以吸收自己级别的触摸事件,并且不会将它们传递给其子级。这导致ListView根本不会触及事件,因此无法回复onItemClicked

The solution is here.