gpt4 book ai didi

java - 初学者的 FragmentPagerAdapter

转载 作者:行者123 更新时间:2023-11-30 04:59:14 26 4
gpt4 key购买 nike

首先,我对我的英语感到抱歉。

我创建了一个包含 3 个选项卡的 Activity ,这些选项卡由 FragmentPagerAdapter 处理。但是我想在我的选项卡中显示的信息在 activity.class 中。我是初学者,我不知道如何将数据从 activity.class 传输到 FragmentPagerAdapter

这是为了“了解更多”,当我点击 1 个消费者时,我到达了这个带有 3 个选项卡的 Activity ,在创建一个对返回 JSONObject 的 Web API 的 url 请求,我解析这个 json 并得到不同的变量。这是我不想放在 putStrings 中的 FragmentPagerAdapter 上的那些变量

public class ViewPagerAdapter extends FragmentPagerAdapter {

private String[] libelle = { "Coordonnées", "Contacts", "TI" };

ViewPagerAdapter(@NonNull FragmentManager fm) {
super(fm);
}

@NonNull
@Override
public Fragment getItem(int position) {

switch (position){
case 0:
Coordonne_client coordonneClient = new Coordonne_client();
Bundle bundle = new Bundle();
bundle.putString("nomCli", "");
coordonneClient.setArguments(bundle);

return coordonneClient;

case 1:
Contacts_client contacts_client = new Contacts_client();
Bundle bundle2 = new Bundle();
bundle2.putString("message", "Fragment: Liste de contact");
bundle2.putString("test", "message test");
contacts_client.setArguments(bundle2);

return contacts_client;

case 2:
Tickets_incidents tickets_incidents = new Tickets_incidents();
Bundle bundle3 = new Bundle();
bundle3.putString("message", "Fragments = Liste des TI du client");
tickets_incidents.setArguments(bundle3);

return tickets_incidents;

default:

return null;


}


}



@Override
public int getCount(){

return 3;

}

@Nullable
@Override
public CharSequence getPageTitle(int position) {

return libelle[position];
}
}

和 Activity

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_info_client);


viewPager=findViewById(R.id.viewPager);
viewPagerAdapter = new ViewPagerAdapter(getSupportFragmentManager());

viewPager.setAdapter(viewPagerAdapter);

tabLayout=findViewById(R.id.tabs);

tabLayout.setupWithViewPager(viewPager);

Bundle extras = getIntent().getExtras();

String leclient = (String) extras.get("leClient");
queue = Volley.newRequestQueue(InfoClient.this);
url = "http://host/select/infoClient/"+leclient;
stringRequest = new StringRequest(GET, url, InfoClient.this, InfoClient.this);
queue.add(stringRequest);

}

@Override
public void onResponse(String response) {


try{


JSONObject client = new JSONObject(response);

String nomClient = client.get("NOM").toString();
String adresseClient = client.get("ADRESSE").toString();
String codePostalClient = client.get("CODEP").toString();
String villeClient = client.get("VILLE").toString();
String telClient = client.get("TEL").toString();





}catch (JSONException e) {
e.printStackTrace();
}

}

感谢您的帮助,希望您能理解。

最佳答案

把你的日期放在一个包里然后使用fragment.setArguments(包包含数据)

关于java - 初学者的 FragmentPagerAdapter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58526497/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com