2016-07-27 5 views
0

私はListViewを持っていて、項目はTextViewです。私は文字列を使用するとうまくいきます。TextViewレイアウトを間違えた場合はImageSpanを追加します。 私のコードは以下のとおりです。 リストビューを初期化するListView内のImageSpansでTextViewが間違ったレイアウトです

private void initListView() 
{ 
    SpannableString spannableString1 = replaceEmotion(this, "[Android]", 0); 
    SpannableString spannableString2 = replaceEmotion(this, "123456123456123456", 0); 
    for (int i = 0; i < 140; i++) 
    { 
     int t = (int) (Math.random() * 2); 

     if (t % 2 == 0) 
     { 
      listData.add(spannableString1); 
     } 
     else 
     { 
      listData.add(spannableString2); 
     } 
    } 
    listItemAdapter = new ArrayAdapter<>(this, R.layout.item_list, listData); 
} 

文字列をImageSpanに置き換えます。

​​

enter image description here

私はrequestLayoutにしようとしているが、それは動作しません。

答えて

0
<LinearLayout 
    android:id="@+id/cotainer" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:orientation="vertical"> 

    <TextView 
     android:id="@+id/text1" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:visibility="visible"/> 
</LinearLayout> 

私は以下のように変更して解決します。

<LinearLayout 
    android:id="@+id/cotainer" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:orientation="vertical"> 

    <TextView 
     android:id="@+id/text1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:visibility="visible"/> 
</LinearLayout> 

yes.onlyのTextViewのアンドロイド:layout_width =アンドロイドに "match_parent":layout_width = "wrap_content" 結果のルックスに

0

ベース、私はフレームワークは、「リサイクルの高さを更新しないと思います"コンテンツが変更された場合でもTextView。実際には、TextViewで使用されているLayoutオブジェクトは更新されません。 TextViewのlayout_widthを "wrap_content"に設定してみてください。 TextViewにLayoutオブジェクトを再計算(および再作成)させます。

関連する問題