可下拉输入框
来源:互联网 发布:阿里云客服好做吗 编辑:程序博客网 时间:2024/05/21 05:56
在登录界面输入用户名的时候,每次输入比较麻烦,于是如果有下拉输入框可选择会比较方便,使用dialog也可以跳出一个框以供选择,但是似乎没有下拉输入框体验号,这只是个细节的部分,于是记录下来方便以后使用
- 自定义适配器
package com.sdu.zeng.dropdownedittext;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.TextView;import java.util.List;/** * Created by shiweixian on 2017/5/24. * 用户输入框下拉选择 */public class UsernameListAdapter extends BaseAdapter { private List<String> list; private Context context; public UsernameListAdapter(List<String> list, Context context) { this.list = list; this.context = context; } @Override public int getCount() { return list.size(); } @Override public Object getItem(int i) { return list.get(i); } @Override public long getItemId(int i) { return i; } @Override public View getView(final int i, View view, ViewGroup viewGroup) { ViewHolder holder; if (view == null) { view = LayoutInflater.from(context).inflate(R.layout.item_list_username, null); holder = new ViewHolder(); holder.tvUsername = (TextView) view.findViewById(R.id.tv_username); holder.ivDelete = (ImageView) view.findViewById(R.id.iv_delete); view.setTag(holder); } else { holder = (ViewHolder) view.getTag(); } holder.tvUsername.setText(list.get(i)); holder.ivDelete.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //TODO 弹出对话框,输入密码正确后,从数据库删除该条用户 list.remove(i); notifyDataSetChanged(); } }); return view; } private class ViewHolder { TextView tvUsername; ImageView ivDelete; }}
2.显示下拉列表的popupWindow弹框
private void showPopupWindow(View view) { View contentView = LayoutInflater.from(this).inflate( R.layout.popup_list, null); drop_view_list = (ListView) contentView.findViewById(R.id.drop_view_list); drop_view_list.setAdapter(adapter); drop_view_list.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapter, View view, int position, long arg3) { edit_username.setText(list.get(position)); popupWindow.dismiss(); } }); popupWindow = new PopupWindow(contentView, LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT, true); popupWindow.setOutsideTouchable(true); popupWindow.setTouchable(true); popupWindow.setTouchInterceptor(new View.OnTouchListener() { @Override public boolean onTouch(View arg0, MotionEvent arg1) { // 这里如果返回true的话,touch事件将被拦截 // 拦截后 PopupWindow的onTouchEvent不被调用,这样点击外部区域无法dismiss return false; } }); //如果不设置PopupWindow的背景,无论是点击外部区域还是Back键都无法dismiss弹框 popupWindow.setBackgroundDrawable(getResources().getDrawable(R.drawable.white)); // 设置好参数之后再show popupWindow.showAsDropDown(view, 0, 0); popupWindow.setAnimationStyle(R.style.AnimationFade); popupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() { @Override public void onDismiss() { iv_drop.setImageResource(R.drawable.icon_down); } }); }
完整项目下载连接:
http://download.csdn.net/download/zengxyuyu/9854942
阅读全文
0 0
- 可输入下拉框
- 可输入下拉框
- 可输入下拉框
- 可下拉输入框
- 可输入的下拉框
- 可输入的下拉框
- 可输入的下拉框
- 模拟可输入下拉框
- 可输入的下拉框
- 可输入的下拉框
- 可输入的下拉框
- 可输入的下拉框
- 可输入的下拉框
- 下拉框可输入可选择
- 可输入的下拉框
- 可输入的下拉框
- IE10 可输入下拉框
- 可输入的下拉框
- java中jar命令打包一个文件夹下的所有文件
- 02_hibernate5快速入门_注解的方式
- List集合常用方法
- Java RandomAccessFile用法
- 二叉树基本结构
- 可下拉输入框
- python3字符串编码
- 端午假期
- js 实现在移动端开发,解决不同手机像素大小的兼容问题
- ssh学习之hibernate篇
- 界面布局之VFL
- 利用fl2440开发板和rt3070模块实现简单路由器制作
- node-red端口争用问题
- 《Core Java》 读书笔记——第3章