我正在尝试从 fragment 调用方法 share() 。 share() 位于 MainActivity.java
Button shareButton = new Button(getActivity());
shareButton.setOnClickListener(new View.onClickListener() {
@Override
public void onClick(View v) {
MainActivity ma = new MainActivity();
ma.share(); //Doesn't work! NullPointerException
}
}
分享():
public void share() {
Intent i = new Intent();
i.setAction(Intent.ACTION_SEND);
i.setType("text/plain");
i.putExtra(Intent.EXTRA_TEXT, shareString);
startActivity(Intent.createChooser(i, "Say Something"));
}
最佳答案
改变
MainActivity ma = new MainActivity();
至
MainActivity ma = (MainActivity) getActivity();
getActivity()
返回 Activity
的实例,因此必须对其进行强制转换
关于java - 如何调用MainActivity方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36744405/