gpt4 book ai didi

Android 在点击 (+) 按钮时添加 edittext 字段并通过点击 (-) 删除

转载 作者:行者123 更新时间:2023-11-29 15:23:59 25 4
gpt4 key购买 nike

我正在创建一个添加联系人 Activity 。只有一个编辑文本和一个按钮 (+),当单击按钮时,应添加另一个编辑文本,而前一个按钮应变为 (-)。通过这种方法,我想添加和删除编辑文本字段。 Some thing like this.我这样做但无法实现我想要的。有什么想法吗?

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);
}

}
}

最佳答案

private void addEditView() {
// TODO Auto-generated method stub
LinearLayout li=new LinearLayout(this);
EditText et=new EditText(this);
Button b=new Button(this);

b.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub

int pos=(Integer) v.getTag();
mainLayout.removeViewAt(pos);

}
});

b.setTag((mainLayout.getChildCount()+1));
}

当您点击 addEditText 按钮时调用此函数。

关于Android 在点击 (+) 按钮时添加 edittext 字段并通过点击 (-) 删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14935739/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com