Android Spinner选择特征

时间:2015-04-29 15:19:37

标签: android list spinner

我在这里遇到了一个非常恼人的问题,我希望你能帮助我。

我有植物清单(自定义类)。这些植物有一个名字,一个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的来源)。

首先,这不是很好,我得到一些错误的图像...... 其次,那段代码非常糟糕,我知道。你能帮我找到一种更好的方法来使图像列表适应微调器选择吗?

0 个答案:

没有答案