【问题标题】:How to get a variable from an Intent in a Fragment?如何从片段中的意图中获取变量?
【发布时间】:2014-06-30 14:05:46
【问题描述】:

在我的 MainActivity.java 我有:

public class PlaceholderFragment extends Fragment {


    public PlaceholderFragment() {
    }

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

        //View rootView = inflater.inflate(R.layout.fragment_main, container, false);
        LinearLayout ll = (LinearLayout )inflater.inflate(R.layout.fragment_main, container, false);
        //EditText editText1 = (EditText) ll.findViewById(R.id.editText1);            
        //return rootView;
        if (Global.globalInt==1){
            EditText editText1 = (EditText)ll.findViewById(R.id.editText1);
            Intent intent=getIntent();
            String s=intent.getStringExtra("stringa");
            editText1.setText(s,TextView.BufferType.EDITABLE);
            Global.globalInt=0;
            short y=9;
        }
        return ll;
    }
}

但我有一个错误:This fragment inner class should be static (com.example.test.MainActivity.PlaceholderFragment)。

如果我写public static class PlaceholderFragment extends Fragment {

我还有一个错误:public static class PlaceholderFragment extends Fragment { 如何解决这个问题?

谢谢

【问题讨论】:

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


【解决方案1】:

片段可以通过调用getActivity() 来获取它的Activity。然后你可以得到意图:getActivity().getIntent()

【讨论】:

    【解决方案2】:

    意图不调用片段,因此您无法从它们获取信息。您可以在执行 FragmentTransactions 或通过 getActivity() 链接到您的活动时传递您需要的内容

    【讨论】:

      【解决方案3】:

      在创建 Fragment 时,在将其添加/替换到容器中之前,您可以通过 setArguments(Bundle bundle) 函数调用来设置 Fragment 的参数:

      PlaceHolderFragment phFragment = new PlaceHolderFragment();
      phFragment.setArguments(intent.getExtras());
      getSupportFragmentManager().beginTransaction().replace(R.id.container, phFragment).addToBackStack(null).commit();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-11-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-06-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多