1

-1 から 1 の範囲のデータ値を持つ sqlite データベースから取り込まれたリストがあります。負の項目の背景色を赤に、正の項目を緑に設定する方法はありますか? 同様の効果は、アイテム ビューに正の場合は緑の上矢印、負の場合は赤の下矢印の画像を追加することで実現できます。もう 1 つの例は、優先度の値によって色分けされたアイテムを含む to-do リストです。iOS では、これは cellforrowat indexpath で発生し、Windows phone/silverlight では、依存関係プロパティをデータにバインドすることによって行われます。これは Android で実現できますか?

4

3 に答える 3

1

これは、Android で行うのは非常に簡単です。各リスト項目は、リストが表示されるたびに更新されます。ListAdapter には、リスト項目の値を設定する getView メソッドがあります。

したがって、リスト アイテムだけの list_item.xml レイアウトが作成されます。Custom ListAdapter では、膨張した (ビュー) list_item を設定する getView() メソッドで背景の色を設定できます。setBackground()。

次のリンクを確認してください: http://techdroid.kbeanie.com/2009/07/custom-listview-for-android.html http://saigeethamn.blogspot.com/2010/04/custom-listview-android-developer. html

于 2012-04-14T06:23:39.557 に答える
1

このようにしてみてください.. getView メソッドで

   @Override
public View getView(int position, View convertView, ViewGroup parent) {
    LayoutInflater inflater = (LayoutInflater) context
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View rowView = inflater.inflate(R.layout.rowlayout, parent, false);
    TextView textView = (TextView) rowView.findViewById(R.id.label);
     ImageView imageview= (ImageView) rowView.findViewById(R.id.img);
    textView.setText(values[position]);
    String s = values[position];
    if (s.startsWith("-")) {
        imageView.setImageResource(R.drawable.uparrow);
   //or set background colour of those views here..
    } else {
        imageView.setImageResource(R.drawable.downarrow);
    }


    return rowView;
}
于 2012-04-14T06:24:40.457 に答える
0

アダプターの getview メソッドで、その値を確認し、作成中のすべてのアイテムの色またはドローアブルをプログラムで変更できます。

于 2012-04-14T06:23:36.023 に答える