我在这里遇到了一个非常恼人的问题,我希望你能帮助我。
我有植物清单(自定义类)。这些植物有一个名字,一个ID和一些特征。这些特征保存在字符串中。
F.E. Characteristic1
是植物的大小,characteristic2
是叶子的设计等等。
我现在有一些Spinners,并且在每个Spinners中都应该有一个特征的选择(Spinner1从所有植物的变量特征1获得所有特征,......) 目标是我可以使用这些Spinners为用户提供适合用户选择特征的植物。
我是如何以非意大利面的方式实现这一点的?我对编程有点新意,所以我真的需要你的帮助。
我希望我解释得很好,用我的第二语言解释它很难。
我的代码:
植物 - 班级
private int pd_id;
private String pd_plantname;
private String pd_longinfo;
private String pd_infochar1;
private String pd_infochar2;
private String pd_infochar3;
private String pd_infochar4;
private String pd_infochar5;
图像类
private int i_id;
private int i_p_id;
private String i_path;
private Calendar i_date;
在我的活动中,我得到了图像列表和植物列表。 使用此代码填充具有特征的微调器。
ArrayList<String> sInfo1 = new ArrayList<String>();
while (i < plantlist.size()) {
sInfo1.add(plantlist.get(i).getPd_infochar1());
i++;
}
ArrayAdapter<String> spInfo2 = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, sInfo1);
spArt.setTag(1);
spArt.setAdapter(spInfo1);
spAlter.setOnItemSelectedListener(new MyOnItemSelectedListener(spAlter));
我为5个微调器得到了5次。现在到OnItemSelectedListener
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
if (sp.getTag() == spAlter.getTag()) {
int i2 = 0;
while (i2 < plantlist.size()) {
if (plantlist.get(i2).getPd_infochar1()
.equalsIgnoreCase((String) sp.getSelectedItem())) {
}
else{
if(((String) sp.getSelectedItem()).equalsIgnoreCase("--Bitte auswählen--")){
}
else{
int pid = plantlist.get(i2).getPd_id();
plantlist.remove(i2);
ArrayList<Image> localIlist = getImageListFromPlantID(pid);
int x = 0;
while (x < localIlist.size()){
Toast.makeText(entscheidungsbaum.this, localIlist.get(x).getI_path(), Toast.LENGTH_SHORT).show();
imageList.remove(localIlist.get(x));
x++;
}
}
}
i2++;
}
}
所以我删除了图像列表中图像的错误(这是gridview的来源)。
首先,这不是很好,我得到一些错误的图像...... 其次,那段代码非常糟糕,我知道。你能帮我找到一种更好的方法来使图像列表适应微调器选择吗?