如何从 android 中的嵌套对象访问 setter?
How to access setter from nested object in android?
我想问一下,我想用输入的编辑文本设置"Agama"。但是,结果是这样的错误:
在我的 Activity 中,我使用微调器获取 agama 值:
spAgama = findViewById(R.id.spfagama);
ArrayAdapter<CharSequence> adapterAgama = ArrayAdapter.createFromResource(TambahDataKeluarga.this,R.array.agama, android.R.layout.simple_spinner_item);
adapterAgama.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spAgama.setAdapter(adapterAgama);
如何将微调器值设置到 setAgama 中?
这是我的 familylistresponse.java;
package com.example.cobaakses.cobaarrayretrofit;
import com.example.cobaakses.Agama;
import com.google.gson.annotations.SerializedName;
public class familylistresponse {
@SerializedName("noPegawai")
private String noPegawai;
@SerializedName("date_otor")
private Object dateOtor;
@SerializedName("keterangan")
private String keterangan;
@SerializedName("tgl_Lahir")
private String tglLahir;
@SerializedName("nama")
private String nama;
@SerializedName("agama")
private Agama agama;
@SerializedName("statusNikah")
private String statusNikah;
@SerializedName("tempatLahir")
private String tempatLahir;
@SerializedName("id")
private int id;
@SerializedName("golDarah")
private String golDarah;
public void setNoPegawai(String noPegawai){
this.noPegawai = noPegawai;
}
public String getNoPegawai(){
return noPegawai;
}
public void setDateOtor(Object dateOtor){
this.dateOtor = dateOtor;
}
public Object getDateOtor(){
return dateOtor;
}
public void setKeterangan(String keterangan){
this.keterangan = keterangan;
}
public String getKeterangan(){
return keterangan;
}
public void setTglLahir(String tglLahir){
this.tglLahir = tglLahir;
}
public String getTglLahir(){
return tglLahir;
}
public void setNama(String nama){
this.nama = nama;
}
public String getNama(){
return nama;
}
public void setAgama(Agama agama){
this.agama = agama;
}
public Agama getAgama(){
return agama;
}
public void setStatusNikah(String statusNikah){
this.statusNikah = statusNikah;
}
public String getStatusNikah(){
return statusNikah;
}
public void setTempatLahir(String tempatLahir){
this.tempatLahir = tempatLahir;
}
public String getTempatLahir(){
return tempatLahir;
}
public void setId(int id){
this.id = id;
}
public int getId(){
return id;
}
public void setGolDarah(String golDarah){
this.golDarah = golDarah;
}
public String getGolDarah(){
return golDarah;
}
@Override
public String toString(){
return
"familylistresponse{" +
",id = '" + id + '\'' +
",date_otor = '" + dateOtor + '\'' +
",agama = '" + agama + '\'' +
",tgl_Lahir = '" + tglLahir + '\'' +
",nama = '" + nama + '\'' +
",keterangan = '" + keterangan + '\'' +
",tempatLahir = '" + tempatLahir + '\'' +
"noPegawai = '" + noPegawai + '\'' +
",golDarah = '" + golDarah + '\'' +
",statusNikah = '" + statusNikah + '\'' +
"}";
}
}
这是我的 Agama.java:
package com.example.cobaakses;
import com.google.gson.annotations.SerializedName;
public class Agama{
@SerializedName("id_Agama")
private String idAgama;
@SerializedName("agama")
private String agama;
public void setIdAgama(String idAgama){
this.idAgama = idAgama;
}
public String getIdAgama(){
return idAgama;
}
public void setAgama(String agama){
this.agama = agama;
}
public String getAgama(){
return agama;
}
@Override
public String toString(){
return
"Agama{" +
"id_Agama = '" + idAgama + '\'' +
",agama = '" + agama + '\'' +
"}";
}
}
而且,每当我尝试将数据输入数据库时,数据都不会插入数据库(顺便说一句,我正在使用改造):( 请任何人帮助我解决这个问题。谢谢
您在 familylistresponse 中的 setAgama 函数接收到一个 Agama 对象,因此您需要先创建一个 Agama 对象
Agama agama = new Agama()
现在您需要为该 Agama 对象设置您想要从微调器获得的字符串
agama.setAgama(sp.getSelectedItem().toString().trim())
现在您的 agama 已准备好设置为 familylistresponse
f.setAgama(agama)
尝试为变量使用更好的名称,因为以后当应用程序变大时,您将很难理解您做了什么。此外,请检查您在两个 classes 中是否都有函数 setAgama。你应该在 Agama class 中以不同的方式命名它,因为你有一个 Agama 对象,里面有一个 agama 字符串。也许你可以将 class 定义为 AgamaObject 并在里面有一个名为 name 的参数,这将是那个 Agama 对象的名称
我想问一下,我想用输入的编辑文本设置"Agama"。但是,结果是这样的错误:
在我的 Activity 中,我使用微调器获取 agama 值:
spAgama = findViewById(R.id.spfagama);
ArrayAdapter<CharSequence> adapterAgama = ArrayAdapter.createFromResource(TambahDataKeluarga.this,R.array.agama, android.R.layout.simple_spinner_item);
adapterAgama.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spAgama.setAdapter(adapterAgama);
如何将微调器值设置到 setAgama 中? 这是我的 familylistresponse.java;
package com.example.cobaakses.cobaarrayretrofit;
import com.example.cobaakses.Agama;
import com.google.gson.annotations.SerializedName;
public class familylistresponse {
@SerializedName("noPegawai")
private String noPegawai;
@SerializedName("date_otor")
private Object dateOtor;
@SerializedName("keterangan")
private String keterangan;
@SerializedName("tgl_Lahir")
private String tglLahir;
@SerializedName("nama")
private String nama;
@SerializedName("agama")
private Agama agama;
@SerializedName("statusNikah")
private String statusNikah;
@SerializedName("tempatLahir")
private String tempatLahir;
@SerializedName("id")
private int id;
@SerializedName("golDarah")
private String golDarah;
public void setNoPegawai(String noPegawai){
this.noPegawai = noPegawai;
}
public String getNoPegawai(){
return noPegawai;
}
public void setDateOtor(Object dateOtor){
this.dateOtor = dateOtor;
}
public Object getDateOtor(){
return dateOtor;
}
public void setKeterangan(String keterangan){
this.keterangan = keterangan;
}
public String getKeterangan(){
return keterangan;
}
public void setTglLahir(String tglLahir){
this.tglLahir = tglLahir;
}
public String getTglLahir(){
return tglLahir;
}
public void setNama(String nama){
this.nama = nama;
}
public String getNama(){
return nama;
}
public void setAgama(Agama agama){
this.agama = agama;
}
public Agama getAgama(){
return agama;
}
public void setStatusNikah(String statusNikah){
this.statusNikah = statusNikah;
}
public String getStatusNikah(){
return statusNikah;
}
public void setTempatLahir(String tempatLahir){
this.tempatLahir = tempatLahir;
}
public String getTempatLahir(){
return tempatLahir;
}
public void setId(int id){
this.id = id;
}
public int getId(){
return id;
}
public void setGolDarah(String golDarah){
this.golDarah = golDarah;
}
public String getGolDarah(){
return golDarah;
}
@Override
public String toString(){
return
"familylistresponse{" +
",id = '" + id + '\'' +
",date_otor = '" + dateOtor + '\'' +
",agama = '" + agama + '\'' +
",tgl_Lahir = '" + tglLahir + '\'' +
",nama = '" + nama + '\'' +
",keterangan = '" + keterangan + '\'' +
",tempatLahir = '" + tempatLahir + '\'' +
"noPegawai = '" + noPegawai + '\'' +
",golDarah = '" + golDarah + '\'' +
",statusNikah = '" + statusNikah + '\'' +
"}";
}
}
这是我的 Agama.java:
package com.example.cobaakses;
import com.google.gson.annotations.SerializedName;
public class Agama{
@SerializedName("id_Agama")
private String idAgama;
@SerializedName("agama")
private String agama;
public void setIdAgama(String idAgama){
this.idAgama = idAgama;
}
public String getIdAgama(){
return idAgama;
}
public void setAgama(String agama){
this.agama = agama;
}
public String getAgama(){
return agama;
}
@Override
public String toString(){
return
"Agama{" +
"id_Agama = '" + idAgama + '\'' +
",agama = '" + agama + '\'' +
"}";
}
}
而且,每当我尝试将数据输入数据库时,数据都不会插入数据库(顺便说一句,我正在使用改造):( 请任何人帮助我解决这个问题。谢谢
您在 familylistresponse 中的 setAgama 函数接收到一个 Agama 对象,因此您需要先创建一个 Agama 对象
Agama agama = new Agama()
现在您需要为该 Agama 对象设置您想要从微调器获得的字符串
agama.setAgama(sp.getSelectedItem().toString().trim())
现在您的 agama 已准备好设置为 familylistresponse
f.setAgama(agama)
尝试为变量使用更好的名称,因为以后当应用程序变大时,您将很难理解您做了什么。此外,请检查您在两个 classes 中是否都有函数 setAgama。你应该在 Agama class 中以不同的方式命名它,因为你有一个 Agama 对象,里面有一个 agama 字符串。也许你可以将 class 定义为 AgamaObject 并在里面有一个名为 name 的参数,这将是那个 Agama 对象的名称