LinearLayout容器中的TextView可以折叠并展开Button单击吗?
我可以动态添加我的LinearLayout
容器中的文本字段。LinearLayout容器中的TextView可以折叠并展开Button单击吗?
现在我需要将这些添加的字段合并,点击Button
这些添加的字段应该会与任何标签崩溃。
可以这样做吗?以下是我可以动态添加EditText
的代码。
txtHeading = (EditText)findViewById(R.id.heading);
buttonAdd = (Button)findViewById(R.id.add);
container = (LinearLayout)findViewById(R.id.container);
buttonAdd.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View arg0)
LayoutInflater layoutInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
final View addView = layoutInflater.inflate(R.layout.list_view, null);
LinearLayout linearLayout=(LinearLayout)findViewById(R.id.layout_icon_select);
TextView textOut = (TextView)addView.findViewById(R.id.textout);
textOut.setText(textIn.getText().toString());
textIn.setText(null);
Button buttonRemove = (Button)addView.findViewById(R.id.remove);
buttonRemove.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
((LinearLayout)addView.getParent()).removeView(addView);
}
});
container.addView(addView);
}}});
btnsave = (Button) findViewById(R.id.btn_save);
btnsave.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//What to insert here?
上点击保存需要折叠所有的TextView元素按钮。
让我们考虑标题是标签,它被命名为性别,所以如果我添加选项作为男性和女性,然后单击保存按钮后,应该在标题下折叠。
基于我所猜测的你想要的......我会创建一个基于线性布局的自定义视图类。每个都有两个编辑文本。
当按下添加按钮时,动态创建并添加此类。按下保存按钮后,您可以遍历父LinearLayout的子元素,然后调用辅助方法折叠第二个编辑文本元素。
要循环父项并折叠子项。现在CustomElement和collapseOptionField()调用是您必须编写的自定义代码。
LinearLayout parentLayout = findViewById(...);
for (int i = 0; i < parentLayout.getChildCount(); i++) {
CustomElement ce = parentLayout.getChildAt(i);
ce.collapseOption();
}
更新
定制类崩,能够选择:
public class TextWithOption extends LinearLayout {
EditText edit0;
EditText edit1;
public TextWithOption(Context context, AttributeSet attrs) {
this(context);
}
public TextWithOption(Context context) {
super(context);
View view = LayoutInflater.from(context).inflate(R.layout.edit_text_option, null);
edit0 = (EditText) view.findViewById(R.id.edit_text0);
edit1 = (EditText) view.findViewById(R.id.edit_text1);
addView(view);
}
public void collapseOption() {
edit1.setVisibility(View.GONE);
}
public void showOption() {
edit1.setVisibility(View.VISIBLE);
}
}
活动代码,将添加新的选项,然后塌陷它们:
final LinearLayout optionsLayout = (LinearLayout) findViewById(R.id.outer_layout);
Button addButton = (Button) findViewById(R.id.button_add);
addButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
TextWithOption to = new TextWithOption(context);
optionsLayout.addView(to);
}
});
((Button) findViewById(R.id.button_save)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
for (int i = 0; i < optionsLayout.getChildCount(); i++) {
((TextWithOption)optionsLayout.getChildAt(i)).collapseOption();
}
}
});
后,您可以在布局上尝试使用无效方法,请详细解释或添加更多行代码。 – Niroj
public static void collapse(final View v) {
ScaleAnimation anim = new ScaleAnimation(1, 1, 1, 0);
v.startAnimation(anim);
anim.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
v.setVisibility(View.GONE);
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
}
按钮写view.collapse 鉴于10
的onclick等于你要崩溃
你能编辑我的代码吗? – Niroj
'View.setVisibility(View.INVISIBLE)'和'View.setVisibility(View.VISIBLE)'是做到这一点的最佳选择什么看法。 – buzzingsilently
虽然这也是选项,但我需要将此折叠项目与其标签一起传递到下一个活动。 – Niroj
“将这个折叠的商品及其标签传递给下一个活动”意味着什么? – buzzingsilently