0

我是 android 新手,我正在做一些小任务。我对某事感到震惊,我真的需要帮助。

我有一个自定义列表视图,其中包含一个文本视图、一个编辑文本和一个文本视图,在它下面我有一个按钮。我的问题是,当我单击该按钮时,我需要从所有列表项中获取 edittext 值。

我不知道如何实现这一点,所以我恳请大家帮助我解决这个问题。下面是我用于自定义列表视图的代码。

public class MyAdapter extends ArrayAdapter<String> {

    private final Context context;
    private final String[] items;

    public MyAdapter(Context context, String[] items) {
        super(context, R.layout.list_row, items);
        this.context = context;
        this.items = items;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View rowView = inflater.inflate(R.layout.list_row, parent, false);
        TextView textView = (TextView) rowView.findViewById(R.id.text_Product);
        TextView textPrice = (TextView)rowView.findViewById(R.id.text_Price);
        EditText edit_Quantity = (EditText)rowView.findViewById(R.id.edit_Quantity);
        textView.setText(items[position]);

        String s = items[position];

        if (s.equals("Samsung")) {
            textPrice.setText("10000");
            edit_Quantity.setText("0");
        } else if (s.equals("Apple")) {
            textPrice.setText("15000");
            edit_Quantity.setText("1");
        } else if (s.equals("Nokia")) {
            textPrice.setText("8000");
            edit_Quantity.setText("2");
        } else {
            textPrice.setText("12000");
            edit_Quantity.setText("3");
        }
        return rowView;
    }
}

单击按钮时,我需要将 edittext 值存储在列表中。请在这件事上给予我帮助

提前致谢。

4

1 回答 1

1

只需在您的代码中添加一个列表,例如

List <String> editcontent= new ArrayList<String>();

现在,当您将项目写入编辑文本时。也进入列表视图

    editcontent.add(0); .// for samsung (ref. to your code)

if (s.equals("Samsung")) {
            textPrice.setText("10000");
            edit_Quantity.setText("0");
            editcontent.add(0);
        } else if (s.equals("Apple")) {
            textPrice.setText("15000");
            edit_Quantity.setText("1");
            editcontent.add(1);
        } else if (s.equals("Nokia")) {
            textPrice.setText("8000");
            edit_Quantity.setText("2");
            editcontent.add(2);
        } else {
            textPrice.setText("12000");
            edit_Quantity.setText("3");
            editcontent.add(3);
        }

然后您可以从此列表中获取所需的记录,例如:

editcontent.get(position);
于 2013-09-24T07:19:59.663 回答