如何使用Intent切换到Activity?

时间:2014-02-19 00:00:23

标签: android android-intent android-activity scope

我有一个类文件MainActivity,我想切换到Testing.class文件。所以这是以下代码。

public static class MyFragment extends Fragment
{

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


        View rootView = inflater.inflate(R.layout.xyz, container, false);

        final TextView tt=(TextView) rootView.findViewById(R.id.txt);

        Button button=(Button) rootView.findViewById(R.id.btn1);


        View.OnClickListener sx = new OnClickListener() 
        {

            public void onClick(View v) 
            {

                call();

            }

        };

        button.setOnClickListener(sx);


        return rootView;


    }


        private void call()
        {

                     // Here getting the Error //

                Intent intent = new Intent(MainActivity.this, Testing.class); 



            startActivity(intent);


        }



   }

所以,这是上面的代码,我想切换到名为测试的新类文件,但

我正面临一个错误 - :在范围内无法访问MainActivity类型的封闭实例

我认为在MainActivity中创建一个名为MyFragment的新静态类会产生问题。

所以,请帮帮我,给我一些好的解决方案。

2 个答案:

答案 0 :(得分:1)

好的,所以你不能调用MainActivity.this,因为你在片段类中。您必须以不同的方式访问上下文。如

getActivity()

返回与片段关联的活动。活动是一个上下文(自活动扩展上下文)

答案 1 :(得分:0)

您可以在片段中使用getActivity()方法,但在获取onActivityCreated()方法

之前,请注意此方法可能会返回null