Установка атрибутов для динамически генерируемых кнопок - PullRequest
0 голосов
/ 23 февраля 2011

Очень доброе утро всем, у меня есть приложение, в котором пользователь будет нажимать кнопку «Добавить», чтобы добавить новые EditText s.По умолчанию будет несколько EditTexts (может быть около 3).Реплика группы EditText по умолчанию будет сгенерирована в событии click.Я установил xml следующим образом:

<ScrollView
android:id="@+id/scrollview1"
android:layout_width="320px"
android:layout_height="234px"
android:isScrollContainer="true"
android:saveEnabled="true"
android:paddingBottom="5px">
<LinearLayout
android:id="@+id/tablelayout"
android:layout_width="320px"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<TableRow
android:id="@+id/widget60"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
>
<EditText
android:id="@+id/cname" 
android:layout_height="fill_parent" 
android:layout_width="fill_parent" 
android:hint="C Name"
android:ems="15">
</EditText></TableRow>
<TableRow
android:id="@+id/widget601"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
>
<EditText
android:id="@+id/caddress" 
android:layout_height="fill_parent" 
android:layout_width="fill_parent" 
android:hint="C Address"
android:ems="15"></EditText></TableRow>
<TableRow
android:id="@+id/widget60"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
>
<EditText
android:id="@+id/total" 
android:layout_height="fill_parent" 
android:layout_width="fill_parent" 
android:hint="Total"
android:ems="15">
</EditText>
</TableRow>
<TableRow
android:id="@+id/widget60"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
>
<EditText
android:id="@+id/m" 
android:layout_height="fill_parent" 
android:layout_width="fill_parent" 
android:hint="M"
android:ems="15">
</EditText>
</TableRow>
<TableLayout
android:id="@+id/widget258"
android:layout_width="wrap_content"
android:layout_height="65px"
android:orientation="vertical"
>
<TableRow
android:id="@+id/widget60"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right"
android:paddingRight="2px"
>
<Button
android:id="@+id/cnew"
android:layout_width="35px"
android:layout_height="31px"
android:layout_x="77px"
android:layout_y="413px"
android:clickable="true"
android:background="@drawable/addbutton"
>
</Button>
</TableRow>

</TableLayout>

</LinearLayout>
</ScrollView>
<LinearLayout
android:id="@+id/layout"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:gravity="center">
<TableRow
android:id="@+id/widget42"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:gravity="center"
>
<Button
android:id="@+id/done"
android:layout_width="wrap_content"
android:layout_height="41px"
android:text="Done"
android:layout_x="77px"
android:layout_y="313px"
>
</Button>
</TableRow>
</LinearLayout>

И коды для динамической генерации выглядят следующим образом:

LinearLayout newTableLayout=(LinearLayout)findViewById(R.id.tablelayout);

    int i=0;
        //New List


        TableRow newTableRow1=new TableRow(this);
        newTableRow1.setId(i+1);
        TableRow newTableRow2=new TableRow(this);
        TableRow newTableRow3=new TableRow(this);
        TableRow newTableRow4=new TableRow(this);
        TableRow newTableRow5=new TableRow(this);
        EditText cName=new EditText(this);
        cName.setId(i+2);
        EditText cAddress=new EditText(this);
        cAddress.setId(i+3);
        EditText total=new EditText(this);
        total.setId(i+4);
        EditText m=new EditText(this);
        m.setId(i+5);
        Button newAddButton=new Button(this);
        newAddButton.setId(i+6);
        i++;

        cName.setHint("C Name");
        cAddress.setHint("C Address");
        total.setHint("Total ");
        m.setHint("M ");
        newAddButton.setBackgroundColor(R.drawable.addbutton);


        newTableRow1.addView(c Name);
        newTableRow2.addView(c Address);
        newTableRow3.addView(totalDebt);
        newTableRow4.addView(m);
        newTableRow5.addView(newAddButton);
        newTableLayout.addView(newTableRow1);
        newTableLayout.addView(newTableRow2);
        newTableLayout.addView(newTableRow3);
        newTableLayout.addView(newTableRow4);
        newTableLayout.addView(newTableRow5);

        newList.setBackgroundResource(R.drawable.deletebutton);
        newList.setOnClickListener(delete);

И моя проблема:

Утверждение newList.setBackgroundResource(R.drawable.deletebutton); не вступают в силу

Не могли бы вы предложить хороший способ заставить их работать ....

Заранее спасибо ...

Удачное кодирование

...