Spinnner和 AutoCompleteTextView联想输入框、popupwindow

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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值