关闭

Spinnner和 AutoCompleteTextView联想输入框、popupwindow

262人阅读 评论(0) 收藏 举报
分类:

Spinner和popupwindow都差不多,弹出菜单,AutoCompleteTextView:输入一个字是,可以弹出很多课供选择的内容,

Spinner:监听事件:OnItenSelectListener();

                   new Spinner(0.setselection(1,true)设置默认选择,不会触发监听,

                   可以自定义适配器继承自BaseAdapter;如:

public class MySpinnerBaseAdapter extends BaseAdapter {
	private List<MyGridView> list;
	private LayoutInflater mInflater;
	public MySpinnerBaseAdapter(Context context,List<MyGridView> lists) {
		list = lists;
		mInflater = LayoutInflater.from(context);
	}

	public int getCount() {
		return list.size();
	}

	public Object getItem(int position) {
		return list.get(position);
	}

	public long getItemId(int position) {
		return position;
	}

	public View getView(int position, View convertView, ViewGroup parent) {
		
		Resous resou ;
		if(convertView == null ){
			convertView = mInflater.inflate(R.layout.spinner_two_layout, null);
			resou = new Resous();
			resou.mImage = (ImageView) convertView.findViewById(R.id.simple_image);
			resou.mtext = (TextView) convertView.findViewById(R.id.spinner_text);
			convertView.setTag(resou);
		}else{
			resou = (Resous) convertView.getTag();
		}
		MyGridView gridv = (MyGridView) getItem(position);
		resou.mImage.setBackgroundResource(gridv.getmImage());
		resou.mtext.setText(gridv.getmText());
		
		return convertView;
	}
	class Resous{
		ImageView mImage;
		TextView mtext;
	}
}


popupwindow:isShowing()是否弹出对话框,dismiss();销毁对话框,

public class PopupWindowActivity extends Activity {
	private ListView mListPop;
	private Button mPopBtn;
	private PopupWindow mPopWind;

	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_popup_layout);

		mPopBtn = (Button) findViewById(R.id.popupwindow_btn);
		// 实例化窗口,设置弹窗的大小
		mPopWind = new PopupWindow(getView(), 400, 400);

		// 下面这三行代码可以让你点击空白处来关闭PopWindow 弹出的窗口
		mPopWind.setTouchable(true);
		mPopWind.setOutsideTouchable(true);
		mPopWind.setBackgroundDrawable(new BitmapDrawable());

		// 点击按钮就弹出窗口
		mPopBtn.setOnClickListener(new OnClickListener() {
			public void onClick(View v) {
				if (mPopWind.isShowing()) {// 判断窗口是否已经弹出弹出
					// mPopWind.setOutsideTouchable(false);
					mPopWind.dismiss();// 关闭窗口
				} else {
					mPopWind.showAsDropDown(v);// 弹出窗口
				}
			}
		});
	}


AutoCompleteTextView :和EditText输入框一样的属性,特有的一个属性setThreshold(1);设置输入一个字符就可以联想,默认的是2个字符.

public class AutocompleteTextViewActivity extends Activity {
	private AutoCompleteTextView mAutoText;

	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.autocomplete_layout);
		mAutoText = (AutoCompleteTextView) findViewById(R.id.auto_Text);

		mAutoText.addTextChangedListener(new TextWatcher() {

			public void onTextChanged(CharSequence s, int start, int before,
					int count) {
				String sss = mAutoText.getText().toString();
				if (sss.equals("m")) {
					String[] s2 = { "mmm", "mss", "wsss", "ms" };
					ArrayAdapter<String> adapter = new ArrayAdapter<String>(
							AutocompleteTextViewActivity.this,
							android.R.layout.simple_expandable_list_item_1, s2);
					mAutoText.setAdapter(adapter);
				} else if (sss.equals("i")) {
					String[] s2 = { "iphone", "ipmss", "iwsss", "ims" };
					ArrayAdapter<String> adapter = new ArrayAdapter<String>(
							AutocompleteTextViewActivity.this,
							android.R.layout.simple_expandable_list_item_1, s2);
					mAutoText.setAdapter(adapter);
				}

			}

			public void beforeTextChanged(CharSequence s, int start, int count,
					int after) {
			}

			public void afterTextChanged(Editable s) {

			}
		});
	}
}


 

 

0
1

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:14424次
    • 积分:599
    • 等级:
    • 排名:千里之外
    • 原创:42篇
    • 转载:14篇
    • 译文:5篇
    • 评论:0条