android - 如何从 Listview 编辑文本字段中获取文本值......?

标签 android listview android-edittext getvalue

如何从编辑文本中获取值。

大家好,我遇到了 android 任务的问题,其中编辑文本中有太多可用的编辑文本。

enter image description here

我需要获取从 1 到 4 的所有编辑文本的值..? 下面是我的 Adapter 的 get view 方法。

@Override
    public View getView(final int position, View convertView, ViewGroup parent) {
        final ViewHolder holder;
        if (convertView == null) {

            convertView = LayoutInflater.from(getContext()).inflate(R.layout.social_media_row, null);

            holder = new ViewHolder();

            holder.social_id = (EditText) convertView.findViewById(R.id.socialMediaId);

            convertView.setTag(holder);

            holder.social_id.addTextChangedListener(new TextWatcher() {
                @Override
                public void beforeTextChanged(CharSequence s, int start, int count, int after) {
                }
                @Override
                public void onTextChanged(CharSequence s, int start, int before, int count) {
                }
                @Override
                public void afterTextChanged(Editable s) {
                  Log.i("AfterTextChange",holder.social_id.getText().toString());
                }
            });
        } else {
            holder = (ViewHolder) convertView.getTag();
        }

        SocialMediaModel contact = contactsList.get(position);

        holder.social_id.setText(contact.getSocialMediaId());

        holder.social_id.setTag(contact);
        return convertView;
    }

更新:我想在用户点击按钮时获取值

savebtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

  /here what i can do    


            }
        });

最佳答案

        //at top Globally declare it
        private String[] valueList = new String[];

        @Override
        public View getView(final int position, View convertView, ViewGroup parent) {
                    final ViewHolder holder;
                    if (convertView == null) {

                        convertView = LayoutInflater.from(getContext()).inflate(R.layout.social_media_row, null);

                        holder = new ViewHolder();

                        holder.social_id = (EditText) convertView.findViewById(R.id.socialMediaId);

                        convertView.setTag(holder);

                        holder.social_id.addTextChangedListener(new TextWatcher() {
                            @Override
                            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
                            }
                            @Override
                            public void onTextChanged(CharSequence s, int start, int before, int count) {

                         valueList[pos] = s.toString();

                            }
                            @Override
                            public void afterTextChanged(Editable s) {
                              Log.i("AfterTextChange",holder.social_id.getText().toString());
                            }
                        });
                    } else {
                        holder = (ViewHolder) convertView.getTag();
                    }

                    SocialMediaModel contact = contactsList.get(position);

                    holder.social_id.setText(contact.getSocialMediaId());

                    holder.social_id.setTag(contact);
                    return convertView;
                }

// method to  get Values
public String[] getValueList(){
        return valueList;
    }

现在在按钮点击事件上放置这段代码

String[] myvl = yourAdapteName.getValueList();

关于android - 如何从 Listview 编辑文本字段中获取文本值......?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39673824/

相关文章:

android - 从列表适配器调用 fragment

android - 使用 ArrayAdapter<List<item>> 时 ListView 显示为空白

Android - 在自定义 EditText 上捕获退格(删除)按钮

Android EditText无法输入文字

Android:验证密码,确认密码并通过按钮传递字符串值

android - 是什么导致了这个 IllegalArgumentException : Service not Registered?

java - 我希望 TextView 在一行中结束...如何做

c++ - QML ListView 和段错误

android - 将数据从一个 Activity 移至另一个 Activity 时出错

android - 具有 20 个项目的 ListView 滚动时滞后