2012-10-31 73 views
0

我使用自定義視圖(image + frameLayout)創建列表視圖,但問題是當我點擊列表視圖上的任何項目時,getView方法被稱爲等於ilst視圖中的項目數,ListView中的CustomView

我在這裏給我的xmi文件。

custon_layout.xml 


<?xml version="1.0" encoding="utf-8"?> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" 
    android:padding="5dp"> 

    <ImageView 
     android:id="@+id/imageView1" 
     android:layout_width="70dp" 
     android:layout_height="70dp" 
     android:src="@drawable/ic_launcher" 
     /> 

    <FrameLayout 
     android:id="@+id/frame" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     > 

     <Button 
      android:id="@+id/button1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Landed" 
      android:layout_gravity="center" 
      /> 

     <LinearLayout 
      android:id="@+id/ll1" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:background="#ffffff" 
      android:orientation="vertical" > 

      <TextView 
       android:id="@+id/from_user" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:text="hi" 
       android:textColor="#000000" /> 

      <TextView 
       android:id="@+id/from_user_id" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:text="hi" 
       android:textColor="#000000" /> 
     </LinearLayout> 
    </FrameLayout> 

    </LinearLayout> 

請幫助我,提前感謝。

+0

我想你想如果你的視圖有2個文本和一個圖像,那麼只有文本有不同的點擊事件和圖像有不同的點擊事件。是嗎 ? –

+0

不要使用框架佈局,只能使用線性佈局來處理此問題。代碼檢查此:http://stackoverflow.com/a/12813906/1168654 –

+0

您的問題是爲什麼getView方法被重複調用。我對嗎? –

回答

0

你好,我改變了你的xml文件列表請檢查這個。

<?xml version="1.0" encoding="utf-8"?> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" 
    android:padding="5dp"> 

    <ImageView 
     android:id="@+id/imageView1" 
     android:layout_width="70dp" 
     android:layout_height="70dp" 
     android:src="@drawable/icon" 
     /> 

    <LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:background="#ffffff" 
    android:orientation="vertical"> 

     <Button 
      android:id="@+id/button1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Landed" 
      android:layout_gravity="center" 
      /> 
      <TextView 
       android:id="@+id/from_user" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:text="hi" 
       android:textColor="#000000" /> 

      <TextView 
       android:id="@+id/from_user_id" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:text="hi" 
       android:textColor="#000000" /> 
    </LinearLayout> 

    </LinearLayout> 

現在列表項單擊clickhere

可以爲所有列表項做同樣的點擊一下,你可以把不同的看法不同的點擊(平均列表項)。

它非常簡單,如果你有查詢然後下面評論。

+0

@dahval:tahnx但我想滑動,包含兩個textView和按鈕的線性佈局必須低於線性佈局,它會在線性佈局滑動後可見使用linearlayoyt –

+0

是的,這是可能的,你必須使用VISIBLE進行佈局和視圖。就像你必須隱藏按鈕那樣 - > btn.setVisiblity(Button.GONE);如果你要顯示按鈕,然後btn.setVisiblity(Button.VISIBALE); –

+0

還有一件事現在你問堆棧溢出問題。那麼請加上您的所有需求並進行詳細說明。那麼你有完美的答案,它可能會幫助你。 –