我正在創建添加聯繫人活動。只有一個編輯文本和一個按鈕(+),當點擊按鈕時,應該添加另一個編輯文本,並且上一個按鈕應該變成( - )。通過這種方法,我想添加和刪除編輯文本字段。 Some thing like this.我這樣做,但無法實現我想要的。任何想法?Android在(+)按鈕上添加edittext字段並通過點擊刪除( - )
public class TextField extends Activity {
Context con;
TableLayout table;
TableRow tr[] = new TableRow[6];
EditText txt[] = new EditText[6];
//ImageView img[] = new ImageView[5];
Button img[]=new Button[6];
int count ;
int lastDeletedIndex;
int lastPopulatedIndex;
boolean isDel;
public void onCreate(Bundle obj) {
super.onCreate(obj);
// Log.d("","On Create");
con = this;
count = 1;
table = new TableLayout(this);
tr[count] = new TableRow(this);
tr[count].setId(count);
tr[count].setLayoutParams(new TableRow.LayoutParams( LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
txt[count] = new EditText(this);
txt[count].setId(count);
txt[count].setText("1");
txt[count].setMaxLines(1);
txt[count].setWidth(160);
img[count] = new Button(this);
img[count].setId(count);
img[count].setText("+");
img[count].setBackgroundResource(R.drawable.add);
img[count].setPadding(5, 7, 20, 0);
tr[count].addView(txt[count]);
tr[count].addView(img[count]);
tr[count].setPadding(20, 20, 0, 0);
img[count].setOnClickListener(new OnClick(img[count]));
table.addView(tr[count]);
setContentView(table);
}
class OnClick implements OnClickListener {
View view;
Button addIcon;
public OnClick(View view) {
this.addIcon = (Button) view;
}
@Override
public void onClick(View arg0) {
int id=addIcon.getId();
if(addIcon.getText().toString().equals("-"))
{
if ((id >1 )) {
isDel=true;
count=id;
lastDeletedIndex=id;
txt[count]=null;
img[count]=null;
table.removeView(tr[count]);
tr[count]=null;
Log.d("", "Cancel img Id" + addIcon.getId());
}
} else {
if (count <5) {
if(table.getChildCount()!=5)
{
addIcon.setBackgroundDrawable(getResources().getDrawable(R.drawable.delete));
addIcon.setText("-");
addIcon.setId(count);
if(!isDel) {
count++;
}else
{
count=lastDeletedIndex;
}
tr[count] = new TableRow(con);
tr[count].setId(count);
img[count] = new Button(con);
img[count].setId(count);
img[count].setBackgroundDrawable(getResources().getDrawable(R.drawable.add));
img[count].setText("+");
img[count].setPadding(3, 7, 20, 0);
img[count].setOnClickListener(new OnClick(img[count]));
txt[count] = new EditText(con);
txt[count].setId(count);
txt[count].setText(""+count);
txt[count].setMaxLines(1);
txt[count].setWidth(160);
tr[count].addView(txt[count]);
tr[count].addView(img[count]);
tr[count].setPadding(20, 20, 0, 0);
table.addView(tr[count]);
setContentView(table);
isDel=false;
lastPopulatedIndex=count;
Log.d("", "Cancel img Id" + addIcon.getId());
}
} else
ShowDialog.showAlert("Info","You can't add more than 5 contacts!", con);
}
}
}
你見過SDK樣本那裏你可以找到這個 – Dilip 2013-02-18 11:58:14
的很好的例子是,你需要開始閱讀「的Android版本:動態創建傻瓜佈局」。如果你有更具體的問題,請回來,在這裏問問! – Veger 2013-02-18 11:59:35
你有沒有使用edittext的子視圖,將很容易添加和刪除按鈕單擊視圖.. – 2013-02-18 11:59:45