Android 未保留自定义变量
我是android领域的初学者,但我对RealmObject实例有点困惑,我想用setter在@ignore变量中设置一个值,但当我想用getter函数检索它时,这个值并没有保留。 对象接缝将不相同 这不是通过引用传递的吗?我真的不明白为什么不是同一个物体 我想在其中影响值的项目列表的适配器Android 未保留自定义变量,android,realm,Android,Realm,我是android领域的初学者,但我对RealmObject实例有点困惑,我想用setter在@ignore变量中设置一个值,但当我想用getter函数检索它时,这个值并没有保留。 对象接缝将不相同 这不是通过引用传递的吗?我真的不明白为什么不是同一个物体 我想在其中影响值的项目列表的适配器 list_equipement_view.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Overri
list_equipement_view.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
Equipement equipement = equipementAdapter.getItem(position);
Log.d("DEBUG_QT_EQUP","4 equipement:"+equipement.toString());
Log.d("DEBUG_QT_EQUP","4 nombre_a_ajouter_dans_modele:"+equipement.getNb_chosen_for_modele());
panelQuantityEquipement.setVisibility(View.VISIBLE);
panelQuantityEquipement.feedData(equipement, current_vaisseau_choix, realm);
//Log.d("LUDOTEST", "onItemClick vaisseau: " + vaisseau.getNom_vas());
}
});
createSpinner函数:
当我点击项目时,我在设备对象中设置了一个值,但当我第二次点击它时,设置的值没有保留
private void createSpinner(){
nombre_a_ajouter_dans_modele = equipement.getNb_chosen_for_modele();
Log.d("DEBUG_QT_EQUP","1 equipement:"+equipement.toString());
Log.d("DEBUG_QT_EQUP","1 nombre_a_ajouter_dans_modele:"+nombre_a_ajouter_dans_modele);
nb_max_case_dispo = vaisseau.getCase_placement_vas();
int nb_max_case_dispo_pour_cet_equip = (int) Math.floor((double)nb_max_case_dispo/(double)equipement.getCase_required_equ());
//spinner nombre affecté dans la création de la futur flotte
ArrayList<String> nb_vso = new ArrayList<String>();
for (int i = 0; i <= nb_max_case_dispo_pour_cet_equip; i++) {
nb_vso.add(String.valueOf(i));
}
adapter = new ArrayAdapter<String>(getContext(),android.R.layout.simple_spinner_item,nb_vso);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner_equipement_added.setAdapter(adapter);
spinner_equipement_added.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int pos, long id) {
nombre_a_ajouter_dans_modele = Integer.valueOf(spinner_equipement_added.getItemAtPosition(pos).toString());
equipement.setNb_chosen_for_modele(nombre_a_ajouter_dans_modele);
Log.d("DEBUG_QT_EQUP","2 nombre_a_ajouter_dans_modele:"+nombre_a_ajouter_dans_modele);
Log.d("DEBUG_QT_EQUP","3 equipement:"+equipement.toString());
Log.d("DEBUG_QT_EQUP","3 nombre_a_ajouter_dans_modele:"+equipement.getNb_chosen_for_modele());
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// Another interface callback
}
});
spinner_equipement_added.setSelection(adapter.getPosition(String.valueOf(nombre_a_ajouter_dans_modele)));
}
private void createSpinner(){
nombre_a_ajouter_dans_modele=equipment.getNb_selected_for_modele();
Log.d(“DEBUG_QT_eqp”,“1设备:”+equipment.toString());
Log.d(“DEBUG_QT_equip”,“1 nombre_a_ajourne_dans_modele:”+nombre_a_ajourne dans_modele);
nb_max_case_dispo=vaisseau.getCase_placement_vas();
int nb_max_case_dispo_pour_cet_equipment=(int)数学地板((双)nb_max_case_dispo/(双)设备。getCase_required_equipment();
//纺纱工的名字影响着未来的装饰
ArrayList nb_vso=新的ArrayList();
对于(int i=0;i父级){
//另一个接口回调
}
});
spinner_Equipment_添加了.setSelection(adapter.getPosition(String.valueOf(nombre_a_ajouter_dans_modele));
}
RealmResults.get(i)
每次返回代理的新实例。我只调用查询一次EquipmentTrealResults=Equipment.GetAlleQuepments(realm);public static RealmResults getAllEquipements(Realm Realm){返回Realm.where(equipment.class).findAll();}调用equipmentrealmresults.get(i)
每次都将返回代理的新实例。Realm没有跟踪你的@Ignore
d字段。谢谢你的回答,我如何在我的扩展类RealmObject“Equipment”中存储应用程序执行时间的非BDD数据?我不知道你的数据是什么以及为什么会被忽略,所以我无法真正发表评论。
private void createSpinner(){
nombre_a_ajouter_dans_modele = equipement.getNb_chosen_for_modele();
Log.d("DEBUG_QT_EQUP","1 equipement:"+equipement.toString());
Log.d("DEBUG_QT_EQUP","1 nombre_a_ajouter_dans_modele:"+nombre_a_ajouter_dans_modele);
nb_max_case_dispo = vaisseau.getCase_placement_vas();
int nb_max_case_dispo_pour_cet_equip = (int) Math.floor((double)nb_max_case_dispo/(double)equipement.getCase_required_equ());
//spinner nombre affecté dans la création de la futur flotte
ArrayList<String> nb_vso = new ArrayList<String>();
for (int i = 0; i <= nb_max_case_dispo_pour_cet_equip; i++) {
nb_vso.add(String.valueOf(i));
}
adapter = new ArrayAdapter<String>(getContext(),android.R.layout.simple_spinner_item,nb_vso);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner_equipement_added.setAdapter(adapter);
spinner_equipement_added.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int pos, long id) {
nombre_a_ajouter_dans_modele = Integer.valueOf(spinner_equipement_added.getItemAtPosition(pos).toString());
equipement.setNb_chosen_for_modele(nombre_a_ajouter_dans_modele);
Log.d("DEBUG_QT_EQUP","2 nombre_a_ajouter_dans_modele:"+nombre_a_ajouter_dans_modele);
Log.d("DEBUG_QT_EQUP","3 equipement:"+equipement.toString());
Log.d("DEBUG_QT_EQUP","3 nombre_a_ajouter_dans_modele:"+equipement.getNb_chosen_for_modele());
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// Another interface callback
}
});
spinner_equipement_added.setSelection(adapter.getPosition(String.valueOf(nombre_a_ajouter_dans_modele)));
}