Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法在自定义阵列适配器中传递意图_Java_Android_Android Intent - Fatal编程技术网

Java 无法在自定义阵列适配器中传递意图

Java 无法在自定义阵列适配器中传递意图,java,android,android-intent,Java,Android,Android Intent,在这种情况下,我无法传达意图。屏幕上没有显示任何内容,也没有来自movie_detail.java的日志。我看不出帽子是错的,请帮忙 MainActivityFragment.java movielistapter.java 为了使片段在活动中可见,必须将片段附加到活动的布局中 在您的电影中,请参阅详细活动 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInsta

在这种情况下,我无法传达意图。屏幕上没有显示任何内容,也没有来自movie_detail.java的日志。我看不出帽子是错的,请帮忙

MainActivityFragment.java

movielistapter.java


为了使片段在活动中可见,必须将片段附加到活动的布局中

在您的电影中,请参阅详细活动

@Override
 protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.movie_detail);
      Intent intent = getActivity().getIntent();
      if (intent != null && intent.hasExtra(Intent.EXTRA_TEXT)) {
          String detail = intent.getStringExtra(Intent.EXTRA_TEXT);
          Log.v("Check", detail);
      }
      Bundle extra = new Bundle();
      extra.putExtra(Intent.EXTRA_TEXT,detail);
      FragmentManager fragmentManager = getFragmentManager();
      FragmentTransaction fragmentTransaction = 
      fragmentManager.beginTransaction();
      DetailFragment fragment = new DetailFragment();
      fragment.setArguments(extra);
     fragmentTransaction.replace(android.R.id.content, fragment);
}

在片段中获取参数并在必要时设置详细信息

您将能够在Activity的onCreate方法中而不是在fragment onCreateView方法中获取意图,因为意图将由Activity而不是fragment接收。 要想在电影细节活动中达到你的目的,就这样做吧

static String detail="";
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.movie_detail);
    Intent intent =getIntent();
        if (intent != null && intent.hasExtra(Intent.EXTRA_TEXT)) {
            detail = intent.getStringExtra(Intent.EXTRA_TEXT);

        }

}
完成此操作后,可以使用详细信息字符串在textview中设置文本

在你的fragment类中

((TextView) rootView.findViewById(R.id.movie_detail))
                    .setText(movie_detail.detail);

你的碎片是静态的还是动态的?如果它是静态的,你能共享movie_detail.xml吗?你能告诉我如何在完成这一步后创建一个视图并填充R.id.movie_detail吗?我的意思是这样做:View rootView=inflater.inflater.layout.movie_detail,container,false;TextView rootView.findviewbydr.id.movie_detail.setTextdetail;}
@Override
 protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.movie_detail);
      Intent intent = getActivity().getIntent();
      if (intent != null && intent.hasExtra(Intent.EXTRA_TEXT)) {
          String detail = intent.getStringExtra(Intent.EXTRA_TEXT);
          Log.v("Check", detail);
      }
      Bundle extra = new Bundle();
      extra.putExtra(Intent.EXTRA_TEXT,detail);
      FragmentManager fragmentManager = getFragmentManager();
      FragmentTransaction fragmentTransaction = 
      fragmentManager.beginTransaction();
      DetailFragment fragment = new DetailFragment();
      fragment.setArguments(extra);
     fragmentTransaction.replace(android.R.id.content, fragment);
}
static String detail="";
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.movie_detail);
    Intent intent =getIntent();
        if (intent != null && intent.hasExtra(Intent.EXTRA_TEXT)) {
            detail = intent.getStringExtra(Intent.EXTRA_TEXT);

        }

}
((TextView) rootView.findViewById(R.id.movie_detail))
                    .setText(movie_detail.detail);