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