2015-09-12 93 views
0

我試着搜索這個問題,但是no1已經回答了這個問題,所以在這裏。 我正在使用滾動視圖內的列表視圖。ListView在scrollView中的訪問

當我添加一個onitemcliked偵聽器的列表視圖它沒有響應。 如何獲得listview訪問權限?我的意思是我如何得到哪個位置被點擊。我知道它是如何正常完成的,但在滾動視圖中,listview不會響應。

這是爲lisview添加onitemcliked listner的代碼。

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> 

pleasde幫我,我停留在這..這可能是一個非常愚蠢的解決方案。但請幫助我 提前謝謝你。

+0

不要使用一個ListView內的另一個滾動視圖的 –

+0

可能重複[我怎樣才能把一個ListView成滾動型沒有它崩潰?](http://stackoverflow.com/questions/3495890/how-我可以放一個列表視圖到一個滾動視圖沒有它崩潰) –

+0

可能重複的[滾動視圖中的Android列表視圖](http://stackoverflow.com/questions/18367522/android-列表視圖-內部-A-渦旋視圖) –

回答

0

這可能是由於ScrollView在父級子級別中的級別高於ListView而導致的。所以ScrollView可以吸收觸摸事件在自己的水平,並沒有把它們傳遞給它的孩子。這導致ListView根本不會得到觸摸事件,並且隨後不響應onItemClicked

The solution is here.