代码是错误的,既然是fragment中的按钮那就并不是在activity中设置按钮监听
getActivity()只是用来获取到一个Context上下文的,因为startActivity是context的方法
,而Activity又继承于Context
正确代码如下
fragment
class MyFragment extends Fragment{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.frag_pre, mull);
//在fragment视图中的按钮
Button btn = (Button)view.findViewById(R.id.button);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//在这里使用getActivity
Intent intent = new Intent(getActivity(),Pre1Activity.class);
startActivity(intent);
}
});
return super.onCreateView(inflater, container, savedInstanceState);
}
}
pre1不应该是R.layout.activity_main中布局的按钮吗。点击以后想跳转到Pre1Activity.class,那对于Pre1Activity.class,
1、Pre1Activity.class继承自Activity,要有绑定的布局不然则报错;
2、如果Pre1Activity.class只是继承了fragment,而没有实现实例化到具体的布局,那肯定报错了。。
上面是我自己的一些想法。错了还请轻喷。。。刚学安卓没多久还是菜鸟。。