我正在ListView
使用自定义适配器显示。在视图中,我textView
在布局中有一个和一个按钮。
应该发生什么-> 一旦我单击文本视图,onClick
自定义适配器类中的回调就TextView
设置了 button_layout 的边距,如下所示
View button_layout = (((View)(View)v.getParent()).getParent()).findViewById(R.id.button_layout));
MarginLayoutParams margins=(MarginLayoutParams)button_layout.getLayoutParams();
margins.bottomMargin=-100;
但这没有发生。我可以更改背景颜色。但无法更改底部边距。这customadapter
是我无法透露的较大代码的一部分。
该应用程序不会崩溃,但也无法正常工作。如果我在调试器中看到布局的 bottomMargin 值已更改,但未反映在 UI 中:(我已将部分代码放在这里。假设 onClickListener 已设置。它正在工作,因为正如我所说我可以在单击文本视图时更改布局的背景颜色。
public class MyCustomAdapter extends ArrayAdapter<someClass> implements OnClickListener{
public View getView(int position, View convertView, ViewGroup parent) {
}
public void onClick(View v){
View row_to_hide = (((View ((View)v.getParent()).getParent()).findViewById(R.id.row_to_hide));`
MarginLayoutParams margins=(MarginLayoutParams)row_to_hide.getLayoutParams();`
margins.bottomMargin=-100;`
}
}
我是 android 新手,想知道这种方法在概念上是否有问题。和按钮也textView
分别处于相对布局和线性布局中。
我正在尝试更改按钮所在的线性布局的边距,以便我可以隐藏按钮。