在我的应用程序中,我动态创建了线性布局。该布局包含文本视图和按钮。使用名为联系人名称的数组列表设置文本视图文本。单击按钮时,我想删除相应的布局,并从位置'i'的数组列表中删除元素。
final LinearL ArrayList<String> contact_name = new ArrayList<String>();
final LinearLayout lab_linear = (LinearLayout) findViewById(R.id.contact_list_layout);
lab_linear.setOrientation(LinearLayout.VERTICAL);
for (i = 0; i < Size_contact; i++) {
final LinearLayout layout = new LinearLayout(this);
layout.setId(i);
layout.setOrientation(LinearLayout.HORIZONTAL);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
layoutParams.setMargins(5, 5, 0, 0);
layout.setLayoutParams(layoutParams);
Resources res = getResources();
Drawable drawable = res.getDrawable(R.drawable.searchbox);
layout.setBackgroundDrawable(drawable);
final TextView Questions_value = new android.widget.TextView(
getApplicationContext());
LinearLayout.LayoutParams layoutParams_text = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
layoutParams_text.setMargins(10, 5, 10, 2);
Questions_value.setLayoutParams(layoutParams_text);
Questions_value.setText(contact_name.get(i));
Questions_value.setTextSize(18);
Questions_value.setId(i);
layout.addView(Questions_value);
final Button myButton = new Button(this);
myButton.setId(i);
myButton.setBackgroundResource(R.drawable.close);
myButton.setLayoutParams(new LayoutParams(20, 20));
layout.addView(myButton);
lab_linear.addView(layout);
myButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
int id = myButton.getId();
contact_name.remove(id);
}
});
}
答案 0 :(得分:0)
您在Linearlayout
中添加了新的lab_linear
。如果要删除它,请使用此方法删除添加了lab_linear
的所有视图。
if(lab_linear.getChildCount()>0)
lab_linear.removeAllViews();
由于
答案 1 :(得分:0)
你可以通过让它像这样
来查看 disapperlab_linear.setVisibility(View.GONE);
答案 2 :(得分:0)
如果您使用此方法移除项目,您应该随时删除删除所有视图并再次添加所有视图除了已删除的视图或删除它们但我提供您使用listview而不是