试图从片段中打开新活动

时间:2014-12-31 12:33:45

标签: java android android-layout android-intent android-fragments

我正在尝试从片段中打开新活动,但在使用此代码时出现关闭应用程序的错误。请帮助在onclick方法中添加什么代码来调用另一个activity.i我在下面的代码中遇到问题。

package info.androidhive.summit;


import android.app.Fragment;
import android.content.Intent;
 import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.Button;
 import android.widget.Toast;

 public class CommunityFragment extends Fragment implements OnClickListener {

   public CommunityFragment(){}
  Button btn;
  @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup container,
         Bundle savedInstanceState) {

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

    btn = (Button) rootView.findViewById(R.id.button1);
    btn.setOnClickListener(this); 

    return rootView;
    }

   @Override
    public void onClick(View v) {
     // TODO Auto-generated method stub


     Intent intent = new Intent(getActivity(),trail.class);
       getActivity().startActivity(intent);


       Toast.makeText(this.getActivity(), 
         "Button is clicked!", Toast.LENGTH_LONG).show(); 

   }
 }

3 个答案:

答案 0 :(得分:0)

Intent intent = new Intent(getActivity(), trail.class);
startActivity(intent);

答案 1 :(得分:0)

您使用Button内的onCreateView,但在附加之前无法使用View。 添加下面显示的代码&不要忘记删除您在Button

中创建的onCreateView
@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    btn = (Button) rootView.findViewById(R.id.button1);
    btn.setOnClickListener(this); 
}

P.S:如果它有效,请告诉我

答案 2 :(得分:0)

您尝试启动的活动未在您的清单中声明。将此添加到您的清单:

<activity android:name=".trail" />