意图,android中的错误

时间:2013-12-25 09:30:38

标签: android android-intent

我在“意图代码”中遇到错误

RegFragment.java:

public class RegFragment extends Fragment {

EditText text1,text2,text3;
Button btn1;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

    View rootView = inflater.inflate(R.layout.reg_layout, container, false);
    text1 = (EditText) rootView.findViewById(R.id.text1);
    text2 = (EditText) rootView.findViewById(R.id.text2);
    text3 = (EditText) rootView.findViewById(R.id.text3);

    btn1  = (Button) rootView.findViewById(R.id.button1);
    btn1.setOnClickListener(new klik());       

    return rootView;         
}

class klik implements Button.OnClickListener{

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        Intent i=new Intent(this,Form1.class);  ------> ERROR...
        finish();
        startActivity(i);
    }
}
}

4 个答案:

答案 0 :(得分:0)

更改为

 Intent i=new Intent(getActivity(),Form1.class);

this未引用活动上下文。 getActivity返回与此片段关联的活动。

使用

 getActivity().finish();

答案 1 :(得分:0)

这样做..

Intent i=new Intent(getActivity(),Form1.class); 

答案 2 :(得分:0)

替换为 getActivity(),以获取片段中的上下文。

答案 3 :(得分:0)

使用

public void onClick(View v) {
                Intent intent = new Intent(getActivity(), Form1.class);
                startActivity(intent);
            }

请检查您的目标活动,即Form1.class应该在Manifest.xml文件中注册