当我在 fragment 内的按钮上使用 onClickListener 并使用 Intent 打开 Activity 时,它会给出 NullPointerException。
这是我的代码
public class TabFragment extends Fragment{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.tabs, container, false);
Button tab1=(Button) getView().findViewById(R.id.tab1upgradeCost);
tab1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(getActivity(), MainActivity.class);
getActivity().startActivity(i);
}
});
return rootView;
}
}
最佳答案
由于 tab1 未使用右 View 初始化,您正在获取 NLP
不要使用
Button tab1=(Button) getView().findViewById(R.id.tab1upgradeCost);
在 onCreateView() 中 getView()
将返回 null,因为仍然 fragment 未初始化。
改为使用
Button tab1=(Button) rooView.findViewById(R.id.tab1upgradeCost);
关于android - 如何使用 Intent 从 Fragment 打开 Activity?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41715944/