我有这个 FlowLayout
,其中有一组我以编程方式构建的 TextView
。获得想要的名称后,我为布局内的每个名称创建了一个 TextView
。
我想做的是,如果我点击 TextView
,我想将它移到另一个布局中。我设法做到了,但我也想把它移回去。我也可以这样做,直到我对其进行编程,但我无法将其编程为无限循环。
这是一段代码,希望能让您更好地理解我在说什么。
TextView tv = new TextView(new ContextThemeWrapper(getActivity(), R.style.FlowLayoutTextView));
tv.setText("Test");
tv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TextView tvSelected = new TextView(new ContextThemeWrapper(getActivity(), R.style.FlowLayoutTextView));
tvSelected.setText(tv.getText().toString());
tvSelected.setLayoutParams(params);
tv.setVisibility(View.GONE);
filteredLayout.addView(tvSelected);
}
});
unfilteredLayout.addView(tv);
有可能让它发挥作用吗?谢谢。
LE:正如您在 TextView
的 onClickListener
事件中看到的,我创建了另一个 TextView
我添加到另一个布局中,要将其移回,我还可以向此 TextView
添加一个 onClickListener
事件,但这不是解决方案。
最佳答案
尝试以下操作:
boolean isInFilterLayout = false; //Class variable
TextView tv = new TextView(new ContextThemeWrapper(getActivity(), R.style.FlowLayoutTextView));
tv.setText("Test");
tv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(isInFilterLayout){
filteredLayout.remove(tv);
unfilteredLayout.addView(tv);
isInFilterLayout = false;
}else{
unfilteredLayout.remove(tv);
filteredLayout.addView(tv);
isInFilterLayout = true;
}
}
});
unfilteredLayout.addView(tv);
关于android - 在布局 onClick 之间来回移动以编程方式添加的 TextView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35905272/