根据edittext字符串返回不同的列表

时间:2018-09-02 19:28:57

标签: android

我正在尝试显示一个listview的服装衣服..单击button下的"enter" edittext之后,列表视图将出现。根据{{​​1}}上的字符串(颜色)的不同而有所不同(PS:Listview中的字符串是衣服的名称和名称!)。

例如: 如果用户在edittext中选择:“ Color1,Color2,” edittext将会出现,并带有包含以下颜色的衣服名称和名称:“ Item1,Item2” 因为Item1和Item2是唯一包含color1和color2的项! 可能的项目(衣服)列表为100,编辑文本中的可能输入为6种颜色(Color1,Color2,Color3,Color4,Color5,Color6)..每当用户选择一组颜色时,都会显示该列表与可能的项目比包含那些颜色! (如此处的说明:https://i.imgur.com/XwHTmGY.png

PS:我已经创建了一个自定义edittext并将适配器与不同的字符串(Color1..Color6)一起使用,我知道如何从edittext获得字符串。 w取决于edittext的字符串(选择的颜色)是可行的!谢谢! 怎么办?我曾在互联网上搜索过类似的例子,但没有运气。

到目前为止,这是我的代码: MainActivity.java

list

2 个答案:

答案 0 :(得分:0)

我通过编写此代码实现了我想要的:
1 /使用适配器创建了一个列表
2 /每次单击时,适配器上的项目都将被删除(clearAdapter();并根据编辑文本中的字符串(itemList.add(new Item("Jenny"));)添加新项目( if (data.equals("Epistaxis, "))。并以itemListAdapter.notifyDataSetChanged();

通知适配器后

Ps:等等(=Button OnClick)..

   public void blahblah (View view) {
        data= editText.getText().toString();
        if (data.equals("Epistaxis, ")){
        clearAdapter();
        itemList.add(new Item("Jenny"));
        itemList.add(new Item("Bladna"));
        itemList.add(new Item("Drafat"));
        itemListAdapter.notifyDataSetChanged();
        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                // TODO Auto-generated method stub
                if (position == 0) {
                    Intent i=new Intent(DecisionTree.this, Figures.class);
                    startActivity(i);
                } else if (position == 1) {
                    //code specific to 2nd list item
                    Toast.makeText(getApplicationContext(), "Place Your Second Option Code", Toast.LENGTH_SHORT).show();
                } else if (position == 2) {

                    Toast.makeText(getApplicationContext(), "Place Your Third Option Code", Toast.LENGTH_SHORT).show();
                }

            }
        }); }
        else if (data.equals("Nasal Discharge, ")) {
            clearAdapter();
            itemList.add(new Item("Jenny2"));
            itemList.add(new Item("Bladna2"));
            itemList.add(new Item("Drafat2"));
            itemListAdapter.notifyDataSetChanged();

    }

答案 1 :(得分:-1)

一个很长的问题,但是不清楚您想要什么? 如果我理解正确,那么您应该这样做: 从EditText获取String string

String[] items = string.split(" ");
ListView listView = (ListView)findViewById(R.id.listView);
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, 
        android.R.layout.simple_list_item_1, items);
listView.setAdapter(adapter);

这有什么问题吗?