gpt4 book ai didi

android - 单击时删除 View ,如何解决?

转载 作者:搜寻专家 更新时间:2023-11-01 08:52:23 25 4
gpt4 key购买 nike

我注意到我在代码中这样做:

ResultButton = new Button( theActivity );
ButtonUtils.setButtonValues( ... );

((ViewGroup) (theActivity).findViewById( android.R.id.content )).addView( ResultButton );

ResultButton.setOnClickListener( new OnClickListener()
{
@Override
public void onClick(View arg0) {
doStuff();


((ViewGroup) (getActivity()).findViewById( android.R.id.content )).removeView( ResultButton );

}
});

在其 OnClickListener 中删除自身显然是错误的。但是处理这些事情的正确方法是什么。由于在 Android 程序中没有 main 方法,我不能只设置一个标志然后让它稍后处理它。你从来没有真正删除的东西?您只是将它们设置为不可见?

最佳答案

在您的 onClick 实现中,您没有重命名的参数对应于触发该事件的 View ,您可以调用所述 View 的父级并询问删除所述 subview 。

ViewGroup parentView = (ViewGroup) view.getParent();
parentView.removeView(view);

为此,将 arg0 重命名为 view,你应该没问题


正如您提到的,另一种选择是仅切换其可见性,调用 setVisibility 方法,以 View.GONEView.INVISIBLE 取决于无论您想继续占用它在可见时占用的屏幕空间还是完全消失,但由于您要求 删除 View ,第一个选项应该足够了。

关于android - 单击时删除 View ,如何解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21972017/

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