0

シンプルなカーソル アダプターを使用しているリスト ビューがあります。

シェイプ ドローアブルはコードで作成されます -

DrawableProvider dr = new DrawableProvider();
ShapeDrawable shDr = dr.getDrawable();

LinearLayout v = (LinearLayout)findViewById(R.id.row_packlist);
v.setBackgroundDrawable(shDr);

以下は、リスト項目を定義するレイアウトです

<?xml version="1.0" encoding="utf-8"?>

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

その理由で機能していません

 LinearLayout v = (LinearLayout)findViewById(R.id.row_packlist);

null を返します。

実用的にドローアブルを背景として設定するにはどうすればよいですか?

4

2 に答える 2

0

アダプターの getView で ConvertView に背景を設定することもできます。また、各行に異なるドローアブルを設定する場合は、アダプター項目の位置に従って設定できます。

@Override
public View getView(int position, View convertView, ViewGroup parent) {

    Holder holder = null;

    if (convertView == null) {
        convertView = inflater.inflate(R.layout.layout_row, null);
            convertView.setBackgroundDrawable(shDr);
    }
于 2013-08-12T11:04:13.590 に答える
0

このコードを試してください LinearLayout layout =(LinearLayout)findViewById(R.id.row_packlist); layout.setBackgroundResource(R.drawable.source);

于 2013-08-12T11:04:18.507 に答える