将属性设置为动态生成的按钮

时间:2011-02-23 04:48:50

标签: android dynamic widget

一个非常愉快的早晨, 我有一个应用程序,用户将点击“添加”按钮添加新的EditText。默认情况下会有一些EditTexts(可能是3左右)。 将在click事件上生成默认EditText组的副本。我已将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);不生效

请你建议一个好方法让这些工作....

提前致谢...

快乐编码

0 个答案:

没有答案