gpt4 book ai didi

java - 单击时 fragment 中的按钮不起作用

转载 作者:行者123 更新时间:2023-11-30 09:02:27 24 4
gpt4 key购买 nike

我在 fragment 中有一个按钮,对于那个按钮我重写了 onClick() 方法,但它不起作用。单击按钮时,我也有一个 Taost 和一个 Log。

public class DataShown extends Fragment  implements OnClickListener{

Button tv;
TextView textview;
Activity activity=getActivity();
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
Log.d("3", "started");
View rootView = inflater.inflate(R.layout.datashown, container, false);
Log.d("3", "closed");
textview=(TextView) rootView.findViewById(R.id.textView1);
tv = (Button) rootView.findViewById(R.id.configButton);
tv.setOnClickListener((OnClickListener) activity);
return rootView;
}//onCtreate

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Log.d("onClick","1");
Toast.makeText(activity, "on click", Toast.LENGTH_SHORT).show();
}
}

为什么会这样,我不知道,可能是它的愚蠢错误。现在 toast 显示错误,接受上下文对象,所以我提供了 Activity ,但没有工作。

最佳答案

改变

tv.setOnClickListener((OnClickListener) activity);

tv.setOnClickListener(this);

并在onClick 方法中更改

Toast.makeText(activity, "on click", Toast.LENGTH_SHORT).show();

Toast.makeText(getActivity(), "on click", Toast.LENGTH_SHORT).show();

并删除

Activity activity=getActivity();

因为您确实在 fragment 附加到 Activity 之前启动了它。

关于java - 单击时 fragment 中的按钮不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25968198/

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