2014-02-19 104 views
0

我有一个类文件MainActivity,我想切换到Testing.class文件。所以这是下面的代码。如何使用Intent切换到活动?

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的问题。

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

回答

1

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

getActivity() 

它返回与片段关联的活动。该活动是上下文(由于活动扩展上下文)

+0

感谢很多人之前返回null。它工作得很好。你拯救我的一天。 – animation123

+0

没问题记得点赞并选择答案! – Dave

+0

Yaa Man ...我已经完成.... – animation123

0

您可以使用您的片段内getActivity()方法,但要小心,这种方法可能的情况下,调用它的越来越onActivityCreated()方法