2

目前,我主要使用 Fragments 连接到 Facebook。

但是,对于其他代码,我使用的是普通活动(无片段)。

我现在的问题是我希望有一个按钮可以从我的“主页”链接到片段,并从片段返回到我的“主页”

我无法这样做。

我尝试使用相同的代码在活动之间切换,但它不起作用。

有没有办法将正常活动链接到片段和反之亦然?还是它们只能相互链接?

这是我的代码:

    public class SplashFragment extends Fragment{

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle     savedInstanceState) {
    View view = inflater.inflate(R.layout.splash, container, false);
//   return view;

    Button btnNextScreen = (Button) view.findViewById(R.id.btnNextScreen);      
//    Button btnNextScreen = (Button) findViewById(R.id.btnNextScreen);

    //Listening to button event
    btnNextScreen.setOnClickListener(new View.OnClickListener() {

      public void onClick(View arg0) {
          //Starting a new Intent
          Intent nextScreen = new Intent(**getApplicationContext()**, SecondScreenActivity.class);
            startActivity(nextScreen);

}
});

 return view;   
}
}

我在 getApplicationContext() 处遇到错误。

如果我将其更改为 getActivity(),他们将提示另一个错误,他们希望切换到 Fragment,而不是活动。

谢谢您的帮助 !

问候, Android 学生

4

3 回答 3

1

use this getActivity() if u want to navigate from fragment to activity.

Intent nextScreen = new Intent(getActivity(), SecondScreenActivity.class);
startActivity(nextScreen);
于 2012-12-10T05:26:14.223 回答
0

这样做:

Intent i = new Intent(getActivity(), activityname.class); 
i.putExtra("key", value);           
getActivity().startActivity(i);
于 2013-08-09T13:14:43.137 回答
0

就我而言,我也无法从片段中找到类,然后我编写了这段代码并且它可以工作;公共类用户配置文件扩展片段{

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    final View view = inflater.inflate(R.layout.fragment_userprofile, container, false);

    final ImageView iconoptions = view.findViewById(R.id.iconoptions);

    iconoptions.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
          startActivity(new Intent(getActivity(),com.example.miniproject. options.class));
        }
    });

    return view;
}

}

于 2020-10-26T14:17:50.107 回答