我有一个按钮,我正在尝试在创建
外面perform Click ();
它是一个片段所以我所做的是:
public class MyFragment extends Fragment {
private Button exit;
public View onCreateView(LayoutInflater inflater,
ViewGroup container,
Bundle savedInstanceState) {
rootView = inflater.inflate(R.layout.my_fragment, container, false);
exit = (Button) rootView.findViewById(R.id.exit);
exit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {.............. });
return rootView;
}
我有一个方法
public void clicker(){
exit .performClick();
}
我从另一个类手动调用clicker方法,但它会抛出
java.lang.NullPointerException:尝试调用虚方法 'null对象上的boolean android.widget.Toggle Button.performClick()' 参考
答案 0 :(得分:1)
您最好的选择是将onClick中的任何内容放入方法中,然后调用该方法而不是exit.performClick
答案 1 :(得分:0)
include ':app',':library_name'
此错误表示您尝试单击java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.widget.Toggle Button.performClick()' on a null object reference
按钮,但未初始化。如果view为null,则无法单击。
最好的方法是,创建检查视图,初始化按钮,然后执行单击操作。
另一件事是exit
是一个片段,您可以通过MyFragment
访问此片段中的任何对象。只需声明一个接口,将该接口实现到该片段中,从该片段外部调用此接口方法。
快乐编码:)
答案 2 :(得分:0)
exit和performClick()之间是否有空格。 exit可能是一个关键字,这可能就是代码编译的原因。