listview
に3のtextview
を含むデータを表示するためのコードとスクリーンショットを示します。getViewメソッドで背景イメージを正しく設定できません
getView()
の方法でAdapter
クラスの次のコードを試してみました。 0,2,4、等。
これを実装しようとすると、スクリーンショットに示されているような出力が得られます。つまり、行が適切に反映されていません。
また、まだIndex
ボタンクリック、2番目と3番目のtextview
に、alignTop
とalignBottom
パラメータが使用されているxml
以下を参照してくださいには、適切に背景色を取得されていません。
EDIT - 画像の代わりに背景色を使用すると、Index
ボタンを除くすべてのケースでうまく動作します。
if (count % 2 == 0) {
try {
InputStream is = ctx.getAssets().open("cellbg.png");
Drawable d = Drawable.createFromStream(is, "cellbg");
holder.txtFirst.setBackgroundDrawable(d);
holder.txtSecond.setBackgroundDrawable(d);
holder.txtThird.setBackgroundDrawable(d);
Log.v("count=", "" + (count++));
} catch (Exception e) {
throw new Error(" exception in TableListAdapter " + e.getMessage());
}
} else {
Log.v("else count==", "" + (count++));
}
リスト構造(XML)
<TextView
android:id="@+id/FirstText"
android:layout_width="80dp"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/SecondText"
android:layout_width="55dp"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/FirstText"
android:layout_alignBottom="@+id/FirstText"/>
<TextView
android:id="@+id/ThirdText"
android:layout_width="40dp"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/FirstText"
android:layout_alignBottom="@+id/FirstText"/>
第一画面で、デフォルトでは、Gainers
ボタンが押されたアプリケーションの起動、の時にリスト構造を示しています。
2ndはIndex
ボタンを押す例を示します。
3rdは、インデックスボタンを押した後にGainers
ボタンを再度押す例を示しています。
4thはList item
をクリックしたときのレイアウトを示しています。
私は間違っていますか?
すべてのヘルプは生き残りになります!
THANKS A TON BUDDYは...ただ、 'holder.l1.setBackgroundDrawable(d)を追加;'それぞれのTextViewの背景を設定する代わりに、それが働きました。 しかし、このケースではテーブルbgが自動的に使用されるため、(カウント%2!= 0)バックグラウンドを設定する必要がありませんでした。 – GAMA
これはすべてgetViewメソッドに依存します。ビューを再利用する必要がある(変換ビューの引数がより速い)ようにするには、取得する内容がわからないので、常に背景を設定する必要があります。 – Matthieu
しかし、各テキストボックスに異なる背景イメージを割り当てる場合はどうすればよいですか? – GAMA