我真的很困惑,我只使用来自Retrofit的简单传递数据。在调试模式下,显示Retrofit从源URL获取数据。但是,当我要将数据传递给Result Activity时,它始终保持为null。我已在不同的活动类/片段中使用bundle或SharedPreferences成功使用了此方法。但是这些活动课没有用,我不明白是什么原因造成的。请帮我。谢谢。
JSON源
{"id_company":"1","company_name":"White House Shop","company_desc":"White House Shop merupakan sebuah toko yang bergerak dibidang penjualan produk pakaian. Toko ini didirikan pada tahun 1995 oleh I Ketut Suranca. Toko ini berlokasi di Jalan Popies 1, Kuta, Badung, Bali.","company_address":"Jalan Popies 1, Kuta, Badung, Bali.","company_maps":"<iframe src=\"https:\/\/www.google.com\/maps\/embed?pb=!1m18!1m12!1m3!1d16327777.649419477!2d108.84621849858628!3d-2.415291213289622!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x2c4c07d7496404b7%3A0xe37b4de71badf485!2sIndonesia!5e0!3m2!1sen!2sid!4v1506312173230\" width=\"100%\" height=\"200\" frameborder=\"0\" style=\"border:0\" allowfullscreen><\/iframe>","company_phone":"081241412","company_phone2":"711412401","company_fax":"24141","company_email":"pasekb85@gmail.com","foto":"white-house-shop20190129111347","foto_type":".png"}
Pojo
public class DetilUsaha {
@SerializedName("id_company")
@Expose
String id_company;
@SerializedName("company_name")
@Expose
String company_name;
@SerializedName("company_desc")
@Expose
String company_desc;
@SerializedName("company_address")
@Expose
String company_address;
@SerializedName("company_maps")
@Expose
String company_maps;
@SerializedName("company_phone")
@Expose
String company_phone;
@SerializedName("company_phone2")
@Expose
String company_phone2;
@SerializedName("company_fax")
@Expose
String company_fax;
@SerializedName("company_email")
@Expose
String company_email;
@SerializedName("foto")
@Expose
String foto;
@SerializedName("foto_type")
@Expose
String foto_type;
//@SerializedName("id")
public String getCompany_address() {
return company_address;
}
public void setCompany_address(String company_address) {
this.company_address = company_address;
}
public String getCompany_desc() {
return company_desc;
}
public void setCompany_desc(String company_desc) {
this.company_desc = company_desc;
}
public String getCompany_maps() {
return company_maps;
}
public void setCompany_maps(String company_maps) {
this.company_maps = company_maps;
}
public String getCompany_fax() {
return company_fax;
}
public void setCompany_fax(String company_fax) {
this.company_fax = company_fax;
}
public String getCompany_email() {
return company_email;
}
public void setCompany_email(String company_email) {
this.company_email = company_email;
}
public String getCompany_name() {
return company_name;
}
public void setCompany_name(String company_name) {
this.company_name = company_name;
}
public String getCompany_phone() {
return company_phone;
}
public void setCompany_phone(String company_phone) {
this.company_phone = company_phone;
}
public String getCompany_phone2() {
return company_phone2;
}
public void setCompany_phone2(String company_phone2) {
this.company_phone2 = company_phone2;
}
public String getId_company() {
return id_company;
}
public void setId_company(String id_company) {
this.id_company = id_company;
}
public String getFoto() {
return foto;
}
public void setFoto(String foto) {
this.foto = foto;
}
public String getFoto_type() {
return foto_type;
}
public void setFoto_type(String foto_type) {
this.foto_type = foto_type;
}
}
获取Json的公司活动
public class CompanyActivity extends AppCompatActivity {
private ApiInterface mApiInterface;
String id_company;
String company_name;
String company_desc;
String company_maps;
String company_email;
String company_phone;
String company_phone2;
String company_fax;
String company_address;
String foto;
String foto_type;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_company);
getCompany();
}
private void getCompany() {
mApiInterface = ApiClient.getClient().create(ApiInterface.class);
Call<DetilUsaha> kontakCall = mApiInterface.DetilUsaha();
kontakCall.enqueue(new Callback<DetilUsaha>() {
@Override
public void onResponse(Call<DetilUsaha> call, Response<DetilUsaha> response) {
id_company = response.body().getId_company();
company_name = response.body().getCompany_name();
company_desc = response.body().getCompany_desc();
company_maps = response.body().getCompany_maps();
company_email = response.body().getCompany_email();
company_phone = response.body().getCompany_phone();
company_phone2 = response.body().getCompany_phone2();
company_fax = response.body().getCompany_fax();
company_address = response.body().getCompany_address();
foto = response.body().getFoto();
foto_type = response.body().getFoto_type();
Intent mIntent = new Intent(CompanyActivity.this, ResultActivity.class);
Bundle bundle = new Bundle();
bundle.putString(company_name,"company_name");
mIntent.putExtras(bundle);
startActivity(mIntent);
}
@Override
public void onFailure(Call<DetilUsaha> call, Throwable t) {
}
});
}
}
ResultActivity以获取即使仅使用捆绑软件也无法正常工作的传递数据。
public class ResultActivity extends AppCompatActivity {
TextView tvNama, tvEmail, tvUsername, tvPassword, tvNomorHP, tvAlamat, tvProvinsi, tvKota;
String stringNama, stringEmail, stringUsername, stringPassword, stringNomorHP, stringAlamat, stringProvinsi, stringKota;
Intent mIntent;
String unitID, kotaID;
//SessionManager sessionManager;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_result);
//sessionManager = new SessionManager(this);
tvNama = (TextView) findViewById(R.id.tv_name);
tvEmail = (TextView) findViewById(R.id.tv_email);
tvUsername = (TextView) findViewById(R.id.tv_username);
tvPassword = (TextView) findViewById(R.id.tv_password);
tvNomorHP = (TextView) findViewById(R.id.tv_hp);
tvAlamat = (TextView) findViewById(R.id.tv_alamat);
tvProvinsi = (TextView) findViewById(R.id.tv_prov_id);
tvKota = (TextView) findViewById(R.id.tv_kota_id);
//Get the bundle
Bundle bundle = getIntent().getExtras();
//Extract the data…
stringNama = bundle.getString("company_name");
/*stringNama = sessionManager.getKeyCompanyName();
stringEmail = sessionManager.getKeyCompanyEmail();
stringUsername = sessionManager.getKeyCompanyPhone2();
stringPassword = sessionManager.getKeyCompanyDesc();
stringNomorHP = sessionManager.getKeyCompanyPhone();
stringAlamat = sessionManager.getKeyCompanyAddress();
unitID = Long.valueOf(sessionManager.getKeyProvinsi());
kotaID = Long.valueOf(sessionManager.getKeyKota());
stringProvinsi = sessionManager.getKeyCompanyMaps();
stringKota = sessionManager.getKeyCompanyFoto();*/
tvNama.setText(stringNama);
}
}