Android的listview 怎么取得select内容

Android的listview 怎么取得select内容,第1张

解决方案:重写BaseAdapter,然后自行获取ListView中每行输入的EditText值

大概算法:重写BaseAdaptergetView函数,用一个数组存储EditText中的值,根据position即数组下标,在getView中动态更新EditText和动态获取EditText中的值因为ListView中的item是复用的,如果不动态清空或动态获取EditText中值,就会出现数据紊乱,或者没数据那么在生成EditText的时候要监控其值的变化存储下来

举例代码:

package comexmythandroid;

public class ListEditorAdapter extends BaseAdapter {

    private LayoutInflater mInflater;

    private List<Map<String, Object>> mData;// 存储的EditText值

    public Map<String, String> editorValue = new HashMap<String, String>();//

    public ListEditorAdapter(Context context, List<Map<String, Object>> data) {

        mData = data;

        mInflater = LayoutInflaterfrom(context);

        init();

    }

    // 初始化

    private void init() {

        editorValueclear();

    }

    @Override

    public int getCount() {

        return mDatasize();

    }

    @Override

    public Object getItem(int position) {

        return null;

    }

    @Override

    public long getItemId(int position) {

        return 0;

    }

    private Integer index = -1;

    @Override

    public View getView(int position, View convertView, ViewGroup parent) {

        ViewHolder holder = null;

        // convertView为null的时候初始化convertView。

        if (convertView == null) {

            holder = new ViewHolder();

            convertView = mInflaterinflate(Rlayoutlistview_item, null);

            holdername = (TextView) convertView

                    findViewById(Ridlist_item_name);

            holdertitle = (TextView) convertView

                    findViewById(Ridlist_item_title);

            holdervalue = (EditText) convertView

                    findViewById(Ridlist_item_inputvalue);

            holdervaluesetTag(position);

            holderuserkey = (TextView) convertViewfindViewById(Riduser_key);

            holdervaluesetOnTouchListener(new OnTouchListener() {

                @Override

                public boolean onTouch(View v, MotionEvent event) {

                    if (eventgetAction() == MotionEventACTION_UP) {

                        index = (Integer) vgetTag();

                    }

                    return false;

                }

            });

            class MyTextWatcher implements TextWatcher {

                public MyTextWatcher(ViewHolder holder) {

                    mHolder = holder;

                }

                private ViewHolder mHolder;

                @Override

                public void onTextChanged(CharSequence s, int start,

                        int before, int count) {

                }

                @Override

                public void beforeTextChanged(CharSequence s, int start,

                        int count, int after) {

                }

                @Override

                public void afterTextChanged(Editable s) {

                    if (s != null && !""equals(stoString())) {

                        int position = (Integer) mHoldervaluegetTag();

                        mDataget(position)put("list_item_inputvalue",

                                stoString());// 当EditText数据发生改变的时候存到data变量中

                    }

                }

            }

            holdervalueaddTextChangedListener(new MyTextWatcher(holder));

            convertViewsetTag(holder);

        } else {

            holder = (ViewHolder) convertViewgetTag();

            holdervaluesetTag(position);

        }

        Object value = mDataget(position)get("list_item_name");

        if (value != null) {

            holdernamesetText((String) value);

        }

        value = mDataget(position)get("list_item_title");

        if (value != null) {

            holdertitlesetText(valuetoString());

        }

        value = mDataget(position)get("user_key");

        if (value != null) {

            holderuserkeysetText(valuetoString());

        } else {

            holderuserkeysetText("-1");

        }

        value = mDataget(position)get("list_item_inputvalue");

        if (value != null && !""equals(value)) {

            holdervaluesetText(valuetoString());

        } else {

            String key = mDataget(position)get("user_key")toString();

            String inputValue = editorValueget(key);

            holdervaluesetText(inputValue);

        }

        holdervalueclearFocus();

        if (index != -1 && index == position) {

            holdervaluerequestFocus();

        }

        return convertView;

    }

    public final class ViewHolder {

        public TextView name;

        public TextView title;

        public EditText value;// ListView中的输入

        public TextView userkey;// 用来定义的标志性主键,可不用关心

    }

}

有时候我们需要在一个Select中传递两个有关联但不同的值,比如你的这个情况。这时候要利用到Option的另一个不常用属性Name,用Name来存储第二个值,然后在onchange事件中分别用thisoptions[thisselectedIndex]name来调用这个值。

全12333

全12321

全123123

在你的程序里,把

之间的内容作为name属性写出来,然后定义一个隐藏的input——optt,再定义好onchange事件,就可以同时获取到value和name两个值了。

有时候我们需要在一个Select中传递两个有关联但不同的值,比如你的这个情况。这时候要利用到Option的另一个不常用属性Name,用Name来存储第二个值,然后在onchange事件中分别用thisoptions[thisselectedIndex]name来调用这个值。 <select name="opt" onchange="opttvalue=thisoptions[thisselectedIndex]name"> <option name="全12333" value="123323">全12333</option> <option name="全12321" value="121113">全12321</option> <option name="全123123" value="121323">全123123</option> </select> <input name="optt" type="hidden" value=""> 在你的程序里,把<option></option>之间的内容作为name属性写出来,然后定义一个隐藏的input——optt,再定义好onchange事件,就可以同时获取到value和name两个值了。

1、如果是服务器控件,获取value值就用selectSelectedItemValue,获取Text值就用

selectSelectedItemText

2、如果是html控件,就用requsetForm["控件Name"]ToString();

其实,不管是服务器控件还是html控件,都可以用requestForm[]方法获取,但该方法获取的都是value值,前提是该控件存在,否则会出错。

扩展资料:

主要属性如下

BufferOutput:设定>

Cache:传回目前网页快取的设定。

Charset :设定或取得>

Cookies:传回目前请求的>

IsCIientconnected:传回客户端是否仍然和服务器连接。

Statuscode:传回或设定输出至客户端浏览器的>

StatusDescription:传回或设定输出至客户端浏览器的>

SuppressContent:设定是否将>

参考资料来源:百度百科-aspnet

以上就是关于Android的listview 怎么取得select内容全部的内容,包括:Android的listview 怎么取得select内容、如何获取select的option的selected的value值、如何获取<select>lt;/select>中所有的<option>内容等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9279118.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存