您好,登錄后才能下訂單哦!
點擊某個View彈出popupwindow列表:
代碼:
private ArrayAdapter<String> adapter_huoMing; private PopupWindow popupWindow; /** * 這里是popupwindow,用來顯示所有查詢出來的信息列表 * 這里的View是調(diào)用的時候傳入界面中的一個View,popupwindow則顯示在此view的下方 */ private void showPopupWindow(View view) { // 一個自定義的布局,作為顯示的內(nèi)容 View contentView = LayoutInflater.from(getApplicationContext()) .inflate(R.layout.activity_popuwindow_huoming, null); // 設(shè)置按鈕的點擊事件 ListView lv_popup = (ListView) contentView .findViewById(R.id.lv_popup_huoming); //這里R.layout.activity_changnzytd_item為列表中每一項的布局,R.id.tv_changnzytd 為顯示數(shù)據(jù)的textview,huoMing為列表數(shù)據(jù)源 adapter_huoMing = new ArrayAdapter<String>(getApplicationContext(), R.layout.activity_changnzytd_item, R.id.tv_changnzytd, huoMing); lv_popup.setAdapter(adapter_huoMing); lv_popup.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // 這里寫Item被點擊后的事件 // Toast.makeText(getApplicationContext(), "1", 0).show(); if (huoMing.length > 0) { et_huoming.setText(huoMing[position]); popupWindow.dismiss(); } } }); popupWindow = new PopupWindow(contentView, LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT, true); popupWindow.setTouchable(true); popupWindow.setTouchInterceptor(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { Log.i("mengdd", "onTouch : "); return false; // 這里如果返回true的話,touch事件將被攔截 // 攔截后 PopupWindow的onTouchEvent不被調(diào)用,這樣點擊外部區(qū)域無法dismiss } }); // 如果不設(shè)置PopupWindow的背景,無論是點擊外部區(qū)域還是Back鍵都無法dismiss彈框 // 我覺得這里是API的一個bug popupWindow.setBackgroundDrawable(getResources().getDrawable( R.drawable.abc_btn_borderless_material)); // 設(shè)置好參數(shù)之后再show popupWindow.showAsDropDown(view); }
activity_popuwindow_huoming://這個是要顯示在popupwindow中的布局
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="#FFFFFF" android:orientation="vertical" > <ListView android:id="@+id/lv_popup_huoming" android:layout_width="fill_parent" android:layout_height="250dp" > </ListView> </LinearLayout>
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。