2016-09-19 136 views
-1

我需要這裏的幫助。將ArrayList項目從一個片段傳遞到另一個片段

因此,我正在構建一個帶有兩個碎片的Android應用程序。 (一般和收藏) 通用碎片有一個項目列表,在這些項目上有一個星星,所以我想要做的是當用戶點擊ListView項目的Star,該項目然後顯示在收藏夾片段的Lis​​tView。

因此,將項目從ListView複製到另一個Fragment中的另一個ListView。

我使用通用片段的適配器來填充項目。

上的ListView項的變量是隻是一個的TextView(標題)和ImageView的(海報)

這裏是MainActivity類別,其中也接口被​​implementet,我使用的底部導航抽屜,不同之間切換片段。接口方法在最後。

下面是從界面中使用的主要活動方式: enter image description here

+0

閱讀有關實現接口的信息。您可以通過這個從常規到收藏夾傳遞列表項目的詳細信息。 – brandall

+0

通過意圖傳遞數據作爲arraylist應該工作。 –

+0

使用Parceable:https://developer.android.com/reference/android/os/Parcelable.html。使自定義類實現可分派並傳遞Bundle中的數組列表。 –

回答

2

收到名單這樣即可把它放到列表視圖

ArrayList<GroupListDetail> results; 
try { 
     results = (ArrayList<GroupListDetail>) getIntent() 
       .getSerializableExtra("mylist"); 
    } catch (Exception e) { 

    } 


if ((results != null) && results.size() > 0) { 
     listView.setAdapter(new GroupListAdapter(this, results)); 
    } 

添加並通過列表這樣

myList = new ArrayList<GroupListDetail>(); 
for(int a = 0; a<myList2.size();a++) 
{ 
GroupListDetail gld = new GroupListDetail(); 
gld.setItem_ID(myList2.get(a).getItem_ID()); 
myList.add(gld); 
} 

    Intent i = new Intent(GroupList.this, Gscanner.class); 
      if ((results != null) && results.size() > 0) { 
       i.putExtra("mylist", results); 
      } 

Details.java

@SuppressWarnings("serial") 
public class GroupListDetail implements Serializable{ 

    public String getItem_ID() { 
    return Item_ID; 
    } 
    public void setItem_ID(String Item_ID) { 
    this.Item_ID = Item_ID; 
    } 
    private String Item_ID ; 
} 
+0

你可以實現Paceable而不是Serializable。這個http://www.3pillarglobal.com/insights/parcelable-vs-java-serialization-in-android-app-development可能會讓parceable更好一些。 –

0

您可以使用BroadCastEventBus。這裏是link of EventBus。在我看來,EventBus更容易使用。

0

您可以使用相同的適配器來填充常規和收藏夾列表片段中的列表。您可以使用枚舉模式{常規,收藏夾} 來顯示相應的列表。

每個列表項都可以有一個布爾標誌(isFavorite)。 最初,您可以將isFavorite的值設爲false。

在通用列表的OnClickItem偵聽器中,只需將該標誌切換爲特定項目的真值即可。

在常規列表中,用isFavorite填充爲false(如果不想在該列表中顯示收藏項),並在收藏夾列表中填充isFavorite設置爲true的列表。

同樣,您可以從收藏列表切換到一般列表。

+0

由於即時通訊新的Android,你認爲你可以通過編寫代碼來幫助我嗎? 我將不勝感激, 謝謝。 –

+0

當然可以發佈一些初稿嗎?我可以幫你。 – aurilio

相關問題