相关文章推荐
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); private void initView(){ listView=(ListView)findViewById(R.id.listview); listView.setAdapter(new ListAdapter(this)); public void saveEditData(int position, String str) { Toast.makeText(this,str+"----"+position,Toast.LENGTH_LONG).show();
Adapter
public class ListAdapter extends BaseAdapter {
    Context context;
    LayoutInflater inflater;
    String[] strings=new String[]{"商品1","商品2","商品3"};
    public ListAdapter(Context context) {
        this.inflater=LayoutInflater.from(context);
        this.context=context;
    @Override
    public int getCount() {
        return 3;
    @Override
    public Object getItem(int position) {
        return strings[position];
    @Override
    public long getItemId(int position) {
        return position;
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder holder;
        if (null == convertView){
            convertView = inflater.inflate(R.layout.item_multiple_confirm,null);
            holder =new ViewHolder(convertView,position);
            convertView.setTag(holder);
        }else {
            holder = (ViewHolder) convertView.getTag();
        holder.tv_name.setText(getItem(position).toString());
        return convertView;
    class ViewHolder{
        TextView tv_name;
        EditText editText;
        public ViewHolder(View view,int pisition){
            tv_name = (TextView) view.findViewById(R.id.fill_order_name);
            editText= (EditText) view.findViewById(R.id.fill_order_ltext);
            editText.setTag(pisition);//存tag值
            editText.addTextChangedListener(new TextSwitcher(this));
    class TextSwitcher implements TextWatcher {
        private ViewHolder mHolder;
        public TextSwitcher(ViewHolder mHolder) {
            this.mHolder = mHolder;
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {
        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            int position = (int) mHolder.editText.getTag();//取tag值
            ((MainActivity)context).saveEditData(position, s.toString());
        @Override
        public void afterTextChanged(Editable s) {

代码是写的比较简单源码点击下载

最近项目的购物车中用列表中包含了留言功能, 需要获取EditText输入的内容,当购买多件商品时,就有点棘手了。经过查资料解决了这个功能,并写了一个案例;   效果图:      可以在商品数据用一个字段来管理留言数据,这样别方便的操作了。 代码:public class MainActivity extends AppCompatActivity { ListV
文章开始之前,请大家思考这样一个问题 ListView的每条Item多个Edittext如何获取输入?且防止数据错乱? 如果是你你会怎么做?如果你有更好的思路欢迎你留言,谢谢 先给老铁们上一张动态图 这里我偷了一个懒,直接使用的是我的AndroidListView结合CheckBox获取项 博客的源代码来实现的 可以看到我们的动态图上,单选,全选,局部修改...
一、前几天在群里聊天,碰到一个哥们问listview的itemview包含editext时怎么处理,当初没有做过这种需求本以为很简单,结果尼玛,心酸啊…一枚小菜鸡轻轻的路过~~~嘎嘎二、Demo效果图:(android studio截图一直是这么大,很纠结,讲究着看吧….)三、主要解决问题点:1.在listvieweditetext焦点的问题 2.某些机型下,点击edittext软键盘弹出紧接
ListView list = (ListView) findViewById(R.id.listview); list.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Ov...
可以明确,现在没有直接方法可以获得ListView每一行EditText. 可以明确,现在没有直接方法可以获得ListView每一行EditText. 解决方案:重写BaseAdapter,然后自行获取ListView每行输入EditText. 大概算法:重写BaseAdapter.getView函数,用一个数组存储EditText,根据position即数组下标,在ge...
可以明确,现在没有直接方法可以获得ListView每一行EditText.     解决方案:重写BaseAdapter,然后自行获取ListView每行输入EditText.     大概算法:重写BaseAdapter.getView函数,用一个数组存储EditText,根据position即数组下标,在getView动态更新EditText和动态获取EditText
直入主题,今天给大家带来ListView的A-Z字母排序和过滤搜索功能并且实现汉字转成拼音的功能,我们知道一般我们对联系人,城市列表等实现A-Z的排序,因为联系人和城市列表我们可以直接从数据库获取他的汉字拼音,而对于一般的数据,我们怎么实现A-Z的排序,我们需要将汉字转换成拼音就行了,接下来就带大家实现一般数据的A-Z排序功能,首先先看下效果图 上面是一个带删除按钮的EditText,我们在输入输入可以自动过滤出我们想要的东西,当输入没有数据自动替换到原来的数据列表,然后下面一个ListView用来显示数据列表,右侧是一个字母索引表,当我们点击不同的字母,ListView会定位到该
送餐Android应用程序 在“第一个屏幕”上,它从用户处获取纯文本地址,并将其转换为具有“纬度和经度”的“位置”,以便可以与其他位置进行比较。 还可以选择在取件和交货之间进行选择。 即使不是很清楚,如果您选择自己捡起,也不会支付小费或送货费。 点击提交后,应用程序将获取您的经度和纬度,并找到这些餐馆与您之间的距离。 Android Location类内置的distance方法以米为单位返回,因此需要转换为英里。 尽管不是很明显,但这实际上是一个ListView,如果它有更多的餐厅,它将可以滚动浏览。 在此示例,该位置获取郊区以外的所有餐厅。 要更改地址,只需再次在edittext字段输入并提交即可。 要前进,请单击您想在其用餐的餐厅。 下一个菜单是应用程序的大脑; 它实际上接受订单。 您在“项目”字段键入内容,然后会出现一个下拉菜单,其包含多个选项。 单击将转到数量,并在对其进行调整后,单击按订单添加将其添加到底部项目日志,这与分配3稍有不同。要继续,请单击Checkout。 要转到上一个菜单,只需单击后退按钮。 添加食物后,您可以选择签出并下订单。 它重复使用了之
2. 创建一个适配器 Adapter,将数据和布局文件绑定。 3. 在 Activity 获取 EditText 和 ListView 的实例,并为 EditText 添加文本改变监听器。 4. 在文本改变监听器获取 EditText 的内容,并根据内容过滤数据源。 5. 将过滤后的数据源更新到适配器,并调用适配器的 notifyDataSetChanged() 方法刷新 ListView。 以下是代码示例: 布局文件: <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <EditText android:id="@+id/et_search" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Search..."/> <ListView android:id="@+id/lv_search_result" android:layout_width="match_parent" android:layout_height="match_parent"/> </LinearLayout> Adapter: public class MyAdapter extends BaseAdapter { private List<String> mData; private LayoutInflater mInflater; public MyAdapter(Context context, List<String> data) { mData = data; mInflater = LayoutInflater.from(context); @Override public int getCount() { return mData.size(); @Override public String getItem(int position) { return mData.get(position); @Override public long getItemId(int position) { return position; @Override public View getView(int position, View convertView, ViewGroup parent) { if (convertView == null) { convertView = mInflater.inflate(R.layout.item_listview, parent, false); TextView tv = convertView.findViewById(R.id.tv_item); tv.setText(getItem(position)); return convertView; Activity: public class MainActivity extends AppCompatActivity { private EditText mEtSearch; private ListView mLvSearchResult; private List<String> mData; private MyAdapter mAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mEtSearch = findViewById(R.id.et_search); mLvSearchResult = findViewById(R.id.lv_search_result); mData = new ArrayList<>(Arrays.asList("Apple", "Banana", "Cherry", "Durian", "Elderberry")); mAdapter = new MyAdapter(this, mData); mLvSearchResult.setAdapter(mAdapter); mEtSearch.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) { String keyword = s.toString().toLowerCase(Locale.getDefault()); List<String> filteredData = new ArrayList<>(); for (String item : mData) { if (item.toLowerCase(Locale.getDefault()).contains(keyword)) { filteredData.add(item); mAdapter = new MyAdapter(MainActivity.this, filteredData); mLvSearchResult.setAdapter(mAdapter); mAdapter.notifyDataSetChanged(); @Override public void afterTextChanged(Editable s) {}
 
推荐文章