我有一個主要活動與一個recyclerview包含圖像內的圖像。當你點擊圖片時,一個細節活動就會啓動。無法檢索意圖額外
我需要將2個對象傳遞給一個intent並在詳細活動中檢索它們,但出於某種原因我無法做到這一點。當我使用調試器時,我可以看到兩個對象都保存在意圖的附加組件中。
但是,當我在另一邊拿他們時,我找不到我的數組列表。
你能幫我弄清楚爲什麼嗎?
這是我的代碼:
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正確。
你確定你的活動,而不是你的片段?如果您在活動內部進行調試,它是否正確地獲取項目? –
我正在調試的地方,我把值(回調在我的movieAdapter類)和詳細的活動。我沒有在片段上調試它 –
呼叫方有意圖嗎?可能是'movie.getTrailerList()'返回空或空對象? –