2017-02-12 3 views
0

私はHorizo​​ntalScrollViewの中にリストビューを持っています。リストビューはファイルパスを保持し、水平スクロールビューは長いパスをラップする必要をなくすためのものです。Android ListViewは最初のアイテムよりも幅の広いアイテムを切り捨てます

リストビューの最初のアイテムよりも長いアイテムが最初のアイテムの長さでカットされていることを除いて、すべてが正しく動作します(最初のアイテムの幅に関係なく、その幅を超えてスクロールします)。ここで

は私に迷惑を与えているレイアウトの部分である:ここで

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:id="@+id/layoutListView" 
    android:orientation="vertical" 
    android:layout_below="@+id/spFileTypes"> 

    <HorizontalScrollView 
     android:layout_width="wrap_content" 
     android:layout_height="0dp" 
     android:layout_weight="1"> 

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

    </HorizontalScrollView> 

    <TextView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center" 
     android:text="" 
     android:id="@+id/tvStatus"/> 

</LinearLayout> 

は、問題のスクリーンショットです:

listview issue screenshot

画像はすべての方法にスクロールされます右。 3番目の項目は ".php"を切り捨てています。私は長いと短いファイル名、多くのリスト(上2桁)とリストをほんの少しで試してみましたが、それぞれの場合、幅の限界は最初の項目の幅に依存するようです。

リストが変更されるたびに、常にその幅が最初の要素と同じに制限されます。

望ましい動作は、最も幅の広いアイテムの幅に一致させることです。

私は、私の心をグーグルで調べて、公式の文書を掘り出して、私は困惑しています。すべてのヘルプは大歓迎です:)

+0

あなたのHorizo​​ntalScrollViewはlayout_weight = 1を持ち、LinearLayoutの2番目の子はありません。 TextViewに加重を追加するか、ListViewから削除する必要があります。それが助けて欲しい。 –

+0

これを書き留めておきますが、TextViewがレイアウトに正確に表示されています(スクリーンショットは切り取り動作を具体的に示すために切り取られています)。 – BMB

答えて

0

代わりのHorizo​​ntalScrollViewにListViewコントロールをラップする、この試してみてください。

<ListView 
    android:id="@+id/listview" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:scrollbars="horizontal"/> 

を、これは誰にも役立ちます場合は、私の答えを最大に投票してください。ありがとう。

+0

リストビューはスクロールビューの子であってはなりません。それは奇妙な行動につながる可能性があります。 –

+0

私はそれをコードに変更すると、文字列をラップして、読みにくいものにしています。画面上にスクロールバーが表示されない(ラッピングしていると仮定していると思いますが)個々のリストアイテムのTextViewに問題がありますか? – BMB

関連する問題