2015-06-03 51 views
3

爲什麼項目在包含網絡鏈接時不能點擊(android:autoLink =「web」)。如何使工作和鏈接,並選擇列表中的項目?我試圖設置屬性中的根元素「機器人:descendantFocusability =」 blocksDescendants」,但它並沒有幫助。當我點擊項目沒有被選擇,只需打開鏈接當我點擊項目被選中。 。THX請對不起我的英語 enter image description here XML帶有可點擊鏈接的ListView項目不可點擊

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

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="@drawable/items_selector" 
     android:descendantFocusability="beforeDescendants" 
     android:orientation="vertical" 
     android:padding="2dp"> 

     <TextView 
      android:id="@+id/messageText" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:autoLink="web" 
      android:padding="@dimen/layout_margin" 
      android:text="Сообщение"/> 

     <RelativeLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:background="#F5F5F5" 
      android:descendantFocusability="afterDescendants" 
      android:orientation="horizontal" 
      android:paddingBottom="5dp" 
      android:paddingLeft="5dp" 
      android:paddingRight="5dp"> 

      <LinearLayout 
       android:id="@+id/info" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:orientation="horizontal"> 

       <TextView 
        android:id="@+id/userNick" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentLeft="true" 
        android:text="goest" 
        android:textSize="12sp" 
        android:textStyle="bold"/> 

       <TextView 
        android:id="@+id/messageDate" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_marginLeft="5dp" 
        android:layout_toRightOf="@id/userNick" 
        android:text="57 мин. назад" 
        android:textSize="12sp"/> 
      </LinearLayout> 


      <LinearLayout 
       android:id="@+id/ratingLayout" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_centerVertical="true" 
       android:layout_marginLeft="10dp" 
       android:layout_toRightOf="@id/info" 
       android:gravity="center" 
       android:orientation="horizontal"> 

       <ImageView 
        android:id="@+id/like" 
        android:layout_width="12dp" 
        android:layout_height="12dp" 
        android:background="@drawable/like" 
        android:clickable="true"/> 

       <TextView 
        android:id="@+id/likeCount" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_marginRight="5dp" 
        android:textSize="12sp"/> 

       <ImageView 
        android:id="@+id/dislike" 
        android:layout_width="12dp" 
        android:layout_height="12dp" 
        android:background="@drawable/dislike" 
        android:clickable="true"/> 

       <TextView 
        android:id="@+id/dislikeCount" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:textSize="12sp"/> 

      </LinearLayout> 

     </RelativeLayout> 

    </LinearLayout> 

</LinearLayout> 
+0

如果您在佈局中使用textview,請使用Text1.setMovementMethod(LinkMovementMethod.getInstance()); –

+0

當我添加setMovementMethod列表項成爲不可選時,單擊它 – GPPSoft

+0

無法正常工作。 :(當我添加這個,項目變得不可調焦和不可選,但鏈接打開。 – GPPSoft

回答

1

有兩種可能的解決方案:首先,你可以在TextView中使用自動鏈接標誌:

android:autoLink="web" 

另一種方式是對的TextView使用setMovementMethod編程:

textView.setMovementMethod(LinkMovementMethod.getInstance()); 

我希望它爲你工作。

+0

不。當我添加android:autoLink =「web」項目是不可選 – GPPSoft

+0

請看看新的截圖和描述,以瞭解我想要什麼。 – GPPSoft