第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

通過適配器傳遞 MainActivity 的數(shù)據(jù)

通過適配器傳遞 MainActivity 的數(shù)據(jù)

藍山帝景 2021-12-01 19:02:23
我是 android 和 java 的新手,但在我的第一個應用程序中,我正在做 Play 商店,你在 Play 商店看到的第一件事,然后轉到第二個活動并在那里看到整個列表。我已經(jīng)構建了水平 ArrayList 并且我也成功構建GridView了第二個活動,我的 ArrayList 是靜態(tài)的,我的意思是它沒有使用任何服務器。我的問題是如何MainActivity通過位于其上的適配器將數(shù)據(jù)發(fā)送到MainActivity2.這是我的主要活動,我的數(shù)據(jù)位于那里:public class MainActivity extends AppCompatActivity {private ArrayList<SectionDataModel> allSampleData;@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    allSampleData = new ArrayList<>();    RecyclerView recyclerView = findViewById(R.id.my_recycler_view1);    recyclerView.setHasFixedSize(true);    RecyclerViewDataAdapter adapter = new RecyclerViewDataAdapter(allSampleData, this);    recyclerView.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false));    recyclerView.setAdapter(adapter);    EssentialData();}public void EssentialData() {    SectionDataModel Unit1 = new SectionDataModel();    Unit1.setHeaderTitle("Unit 1");    ArrayList<SingleItemModel> singleItemModels = new ArrayList<>();    singleItemModels.add(new SingleItemModel("Word ", "Pronunciation", "Example", R.drawable.alferet));    singleItemModels.add(new SingleItemModel("The Apple", "Apple Store Is Open", "Description book", R.drawable.alferet));    singleItemModels.add(new SingleItemModel("The Apple", "Apple Store Is Open", "Description book", R.drawable.soft));    singleItemModels.add(new SingleItemModel("The Apple", "Apple Store Is Open", "Description book", R.drawable.alferet));    singleItemModels.add(new SingleItemModel("The Apple", "Apple Store Is Open", "Description book", R.drawable.alferet));    singleItemModels.add(new SingleItemModel("The Apple", "Apple Store Is Open", "Description book", R.drawable.alferet));    singleItemModels.add(new SingleItemModel("The Apple", "Apple Store Is Open", "Description book", R.drawable.alferet));}  }而我SectionDataAdapter只有從它我可以將數(shù)據(jù)發(fā)送到第二個 MainActivity 因為如果我從MainActivity它自己做它返回 Null
查看完整描述

3 回答

?
白豬掌柜的

TA貢獻1893條經(jīng)驗 獲得超10個贊

您的 SectionDataModel 需要實現(xiàn) Parceble 接口。如下所示,您可以實施 -


public class Person implements Parcelable{

String name;

int age;

String sex;


public Person(String name, int age, String sex) {

    this.name = name;

    this.age = age;

    this.sex = sex;

 public static final Creator<Person> CREATOR = new Creator<Person>() {

    @Override

    public Person createFromParcel(Parcel in) {

        return new BeanClass(in);

    }


    @Override

    public Person[] newArray(int size) {

        return new Person[size];

    }

};

@Override

public int describeContents() {

    return 0;

}


@Override

public void writeToParcel(Parcel dest, int flags) {

    dest.writeString(name);

    dest.writeInt(age);

    dest.writeString(sex);

}

}

將數(shù)據(jù)從您的適配器類傳遞到片段或活動 -


@Override

    public void onClick(View v){

        Toast.makeText(v.getContext(), tvTitle.getText(), LENGTH_SHORT).show();

        //passing data to Tab1Fragment

        Bundle bundle = new Bundle();

        bundle.putParcelableArrayList("SectionDataModels", sectionDataModelList);

        intent1.putExtras(bundle);

        mContext.startActivity(intent1);

    }

在活動中接收 SectionDataModelList -


ArrayList<SectionDataModel> listFromActivity =new ArrayList<>();


listFromActivity=this.getIntent().getExtras().getParcelableArrayList("SectionDataModels");


    if (listFromActivity1 != null) {


        Log.d("listis",""+listFromActivity1.toString());

    }

此外,您可以嘗試通過這種方式接收意圖數(shù)據(jù) - 如果您需要


Bundle bundle = getActivity().getIntent().getExtras();

model = bundle.getParcelable("SectionDataModels");


OR


Bundle bundle = this.getArguments();

if (bundle != null) {

    model = bundle.getParcelable("SectionDataModels");

}


查看完整回答
反對 回復 2021-12-01
?
慕沐林林

TA貢獻2016條經(jīng)驗 獲得超9個贊

您可以將 ArrayList 設為公共靜態(tài),然后將其導入到第二個活動中


查看完整回答
反對 回復 2021-12-01
?
30秒到達戰(zhàn)場

TA貢獻1828條經(jīng)驗 獲得超6個贊

您可以將 arraylist 保留在您的應用程序類中而不是第一個活動中(因為它在整個應用程序中都是相同的),然后只需使用 intent1.putExtra("position",position).

在活動 2 中使用

int position = getIntent().getIntExtra("position")

現(xiàn)在只需使用此位置從應用程序類數(shù)組列表中獲取模型類對象。


查看完整回答
反對 回復 2021-12-01
  • 3 回答
  • 0 關注
  • 152 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號