public class FragmentOne extends Fragment implements View.OnClickListener{public FragmentOne() {}TextView matchStatus;@Overridepublic void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); }@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_one, container, false); Button matchButton = (Button)view.findViewById(R.id.button_match); matchButton.setOnClickListener(this); return view;}@Overridepublic void onClick(View view){ switch(view.getId()){ case R.id.button_match: matchStatus = (TextView)view.findViewById(R.id.textView_matchStatus); matchStatus.setText("sup"); break; }}我意识到当我在 onClick() 方法中实例化matchStatus时,我得到一个 NullPointerException 但是当我在 onCreateView() 方法中执行它时它工作得很好。有人可以解释我为什么吗?我的猜测是它在 onClick() 方法中不起作用,因为它连接到保存 Fragment 的 Activity 并且它在 Activity 中查找 matchStatus 而这不会发生在 onCreateView() 方法中,因为我正在膨胀 fragment_one。 xml,但我不确定。
添加回答
举报
0/150
提交
取消