2014-05-17 37 views
1

当我启动应用程序,并输入按钮,它问世的错误“不幸的是,intenttest已经停止。如何在片段中启动活动或调用意图?

Fragment_Main.jave代码如下

public class Fragment_Main extends Fragment implements OnClickListener { 
EditText studentID; 

public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
    } 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 
     View root = inflater.inflate(R.layout.fragment_main, container, false); 
     studentID = (EditText) root.findViewById(R.id.editText1); 
     Button submit = (Button) root.findViewById(R.id.button1); 
     submit.setOnClickListener(this); 
      return root; 
    } 

    @Override 
     public void onClick(View v) { 
     Fragment frag = new Average(); 
      Intent intent = new Intent(getActivity(), Average.class); 
      intent.putExtra("ID", studentID.getText().toString()); 
      startActivity(intent); 

      FragmentManager fragmentManager = getFragmentManager(); 
      fragmentManager.beginTransaction().replace(R.id.container,frag).commit(); 
     }} 

average.jave代码如下

public class Average extends Fragment { 
TextView studentInfo; 

public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
    } 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 
     View root = inflater.inflate(R.layout.fragment_average, container, false); 
     studentInfo = (TextView) root.findViewById(R.id.textView2); 
      Intent intent = getActivity().getIntent();//取得活動的Intent 
      studentInfo.setText("學號:" + intent.getStringExtra("ID")); 
      return root; 
    }} 

回答

2

从片段您可以使用活动启动下面的代码

Intent intent = new Intent(getActivity(),yourclassname.class); 
startActivity(intent); 
+0

它没有工作.. – user3578548

+0

我应该删除代码如下 Fragment frag = new Average(); FragmentManager fragmentManager = getFragmentManager(); fragmentManager.beginTransaction()。replace(R.id.container,frag).commit(); – user3578548

+0

如果你试图调用Fragment,那么它是正确的,但如果你想调用Activity,你必须替换你的代码。 –