私は、imageviews内のイメージを含むrecyclerviewで主なアクティビティを持っています。イメージをクリックすると、詳細アクティビティが開始されます。インテントエキストラを取得できません
2つのオブジェクトをインテントに渡して詳細アクティビティで取得する必要がありますが、何らかの理由でそれを実行できません。デバッガを使用すると、両方のオブジェクトがインテント・エクストラに保存されていることがわかります。
しかし、私は反対側でそれらを取得すると、私は私のarraylist余分見つけることができません。
理由を理解するのに手伝ってもらえますか?
これは私のコードです:他の活動に
holder.mImageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mActivity.isTwoPaneMode()) {
Bundle arguments = new Bundle();
arguments.putParcelable(MovieListActivity.MOVIE,movie);
arguments.putStringArrayList("TRAILERS", (ArrayList)movie.getTrailerList());
MovieDetailFragment fragment = new MovieDetailFragment();
fragment.setArguments(arguments);
mActivity.getSupportFragmentManager().beginTransaction()
.replace(R.id.movie_detail_container, fragment)
.commit();
} else {
Context context = v.getContext();
Intent intent = new Intent(context, MovieDetailActivity.class);
intent.putExtra(MovieListActivity.MOVIE, movie);
intent.putStringArrayListExtra("TRAILERS", (ArrayList)movie.getTrailerList());
context.startActivity(intent);
}
}
});
:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_movie_detail);
if (savedInstanceState == null) {
Intent intent = getIntent();
ArrayList<String> trailers = intent.getStringArrayListExtra("TRAILERS");
Movie movie = intent.getParcelableExtra(MovieListActivity.MOVIE);
Bundle arguments = new Bundle();
arguments.putParcelable(MovieListActivity.MOVIE, movie);
arguments.putStringArrayList(MovieListActivity.MOVIE,
getIntent().getStringArrayListExtra("TRAILERS"));
MovieDetailFragment fragment = new MovieDetailFragment();
fragment.setArguments(arguments);
getSupportFragmentManager().beginTransaction()
.add(R.id.movie_detail_container, fragment)
.commit();
}
}
は私の映画のクラスが正しくparcelable実装しています。
あなたの活動ではなく、あなたの断片ではないでしょうか?あなたがアクティビティの中でデバッグすると、項目が正しく取得されますか? –
私はどこに値(ムービーアダプタクラスのコールバック)と詳細アクティビティを配置するのデバッグです。私はフラグメント上でそれをデバッグしませんでした –
発信側の意図には何かがありますか? 'movie.getTrailerList() 'が空またはnullオブジェクトを返すことがありますか? –