2016-09-02 3 views
0

現在、私は別のアクティビティに渡したいArrayListを持っています。私は既にgetParcelableArrayListを適用しましたが、他のアクティビティにnullを渡します。私はヌルの配列をチェックしましたが、そうではありません。現在の活動では、少なくとも私はそれを渡す前に。ArrayListは、バンドルを使用してnullを渡します。

これは私のコードです:

RecyclerViewOffline.java

Toast.makeText(context,"Clicked", Toast.LENGTH_SHORT).show(); 

Intent intent = new Intent(view.getContext(),OfflineActivity.class); 

Log.d("Contexts Test : ", fileContents.get(holder.getLayoutPosition()).getTitle()); 

Bundle bundle = new Bundle(); 
//bundle.putParcelableArrayList("link",fileContents); 
bundle.putParcelableArrayList("ArrayList",fileContents); 
bundle.putInt("position",holder.getLayoutPosition()); 

intent.putExtra("bundle",bundle); 
view.getContext().startActivity(intent); 

マイ受信側:

OfflineActivity.java

Bundle extras = getIntent().getBundleExtra("bundle"); 

if(extras != null) { 
    this.fileContents = extras.getParcelableArrayList("ArrayList"); 
    layoutPosition = extras.getInt("position"); 
    Log.d("Contexts Test Offline: ",""+ fileContents.get(layoutPosition).getTitle()); 
    } 
else{} 
+0

'fileContents'のどの項目が含まれていますか? –

+0

これを行うとどうなりますか: 'getIntent()。getExtras()。getParcelableArrayList(" fileContents ")' –

+0

[this](http://stackoverflow.com/questions/18469267/parcelable-arraylist-passed -partially-with-null-elements/18505607#18505607) –

答えて

1

私はあなたが方法およびコンストラクタ内外にParcelableでのArrayListを追加didntの

を見ることができるように。

これが問題を解決します。

0

Eタイプ場合は、ArrayList<E>を同じように渡すことができますです。

インテントの格納先はputExtra (String name, Serializable value)、呼び出し先はgetSerializableExtra (String name)となります。

例:他の活動に

Intent intent = new Intent(view.getContext(), OfflineActivity.class); 
intent.putExtra("ArrayList", fileContents); 
intent.putExtra("position",holder.getLayoutPosition()); 
view.getContext().startActivity(intent); 

Intent i = getIntent(); 
int position = i.getIntExtra("position",0); 
ArrayList<String> myList = (ArrayList<String>) i.getSerializableExtra("ArrayList"); 
関連する問題