1. 程式人生 > >EditText點選事件——彈出單選框

EditText點選事件——彈出單選框

目標

點選Faculty彈出院系單選對話方塊,將選擇的內容顯示在EditText中
Faculty是一個Edittext控制元件。
這裡寫圖片描述

這裡寫圖片描述

1,設定EditText屬性

使用以下兩句設定EditText為不可輸入且不可彈出輸入法

android:cursorVisible="false"
android:editable="false"
<EditText
            android:text="" 
            android:id="@+id/etFaculty"
            android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_below="@+id/etBirthday" android:cursorVisible="false" android:editable="false" android:hint="Faculty" />

2,設定EditText的點選事件,使用setOnTouchListener

private final static int FACULTY_DIA = 2
; private EditText etFaculty; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity_personal_info); etFaculty = (EditText) findViewById(R.id.etFaculty); etFaculty.setOnTouchListener(new
View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub showDialog(FACULTY_DIA); return false; } });

3,建立一個院系名的array資源 “faculty”

這裡寫圖片描述

4,建立單選對話方塊

protected Dialog onCreateDialog(int id) {
        Dialog dialog = null;
        switch (id) {
        case FACULTY_DIA:
             Builder builder1 = new android.app.AlertDialog.Builder(this);
            // 設定對話方塊的圖示
            builder.setIcon(R.drawable.header);
            // 設定對話方塊的標題
        Builder setTitle1 = builder1.setTitle("Faculty");
            builder1.setSingleChoiceItems(R.array.faculty, 0, new OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {
                    String faculty = getResources().getStringArray(R.array.faculty)[which];
                    etFaculty.setTextSize(15);
                    etFaculty.setText(faculty);
                }
            });

            // 新增一個確定按鈕
            builder1.setPositiveButton(" OK ", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {

                }
            });
            // 建立一個單選按鈕對話方塊
            dialog = builder1.create();
            break;
}

5,修改對話方塊的字型大小

在styles.xml定義對話方塊字型大小:

    </style>
    <style name="dialog" parent="@android:style/Theme.Dialog">
    <item name="android:textSize">15sp</item>
  </style>

加入後styles.xml的內容如下所示:

<resources>

    <!--
        Base application theme, dependent on API level. This theme is replaced
        by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
    -->
    <style name="AppBaseTheme" parent="android:Theme.Light">
        <!--
            Theme customizations available in newer API levels can go in
            res/values-vXX/styles.xml, while customizations related to
            backward-compatibility can go here.
        -->
    </style>

    <!-- Application theme. -->
    <style name="AppTheme" parent="AppBaseTheme">
        <!-- All customizations that are NOT specific to a particular API-level can go here. -->
    </style>
    <style name="dialog" parent="@android:style/Theme.Dialog">
    <item name="android:textSize">15sp</item>
  </style>
</resources>

修改建立單選對話方塊的程式碼:

case FACULTY_DIA:
            // Dialog dialog = null;
            ContextThemeWrapper contextThemeWrapper = new ContextThemeWrapper(this, R.style.dialog);
            Builder builder1 = new AlertDialog.Builder(contextThemeWrapper);

            // Builder builder1 = new android.app.AlertDialog.Builder(this);
            // 設定對話方塊的圖示
            // builder.setIcon(R.drawable.header);
            // 設定對話方塊的標題
            Builder setTitle1 = builder1.setTitle("Faculty");
            // 0: 預設第一個單選按鈕被選中
            builder1.setSingleChoiceItems(R.array.faculty, 0, new OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {
                    String faculty = getResources().getStringArray(R.array.faculty)[which];
                    etFaculty.setTextSize(15);
                    etFaculty.setText(faculty);
                }
            });

            // 新增一個確定按鈕
            builder1.setPositiveButton(" OK ", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {

                }
            });
            // 建立一個單選按鈕對話方塊
            dialog = builder1.create();
            break;

相關推薦

EditText事件——

目標 點選Faculty彈出院系單選對話方塊,將選擇的內容顯示在EditText中 Faculty是一個Edittext控制元件。 1,設定EditText屬性 使用以下兩句設定

Android Studio ListView的item事件AlertDialog,和item的滑動

首先看看效果圖: 點選彈出AlertDialog的確認框! (一)第一步,建立一個xml檔案顯示item的佈局 student_item.xml <?xml version="1.0" encoding="utf-8"?> <LinearLa

JS特效 網頁事件 指定漢字

最近逛一位大佬的部落格的時候,發現了他部落格上的滑鼠點選事件,效果如下圖 感覺文字和內容都特別有趣,所以就研究了一下。 將效果總結為一個HTML,內容如下,保證可用。

按鈕模態實現

點選按鈕彈出模態框的實現: html: <!DOCTYPE html> <html> <head> <meta charset="utf-8">

佈局中同時使用Toolbar和EditText時,鍵盤時標題欄被拉伸

在Toolbar中新增 android:fitsSystemWindows="true" 這時,如果我們的layout中包含可滾動的控制元件如ListView、ScrollView(即在鍵盤彈出時會

androidEditText軟鍵盤不的問題

今天踩了一個坑,坑是這樣的,一個for迴圈,然後inflate一個佈局,把這個佈局動態的新增到一個linearlayout,佈局程式碼如下:<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:

js迴圈給li繫結事件實現 li其索引值 和內容

html程式碼   <ul>   <li>香蕉</li>   <li>蘋果</li>      <li>菠蘿</li>   <li>獼猴桃</li>  

按鈕對話方塊帶透明遮罩

使用模態對話方塊來請求使用者在一個多步驟過程中輸入資料。在內容區域嵌入 form 標記,設定 modal 選項為 true,並通過 buttons 選項來指定主要的和次要的使用者動作 1. 按鈕 <input class="primary-btn" type="b

EditText初始不軟鍵盤,只有游標顯示,

剛進來的時候,不彈出鍵盤,EditText 有個游標上面閃,證明是可編輯的,這個還是符合使用者習慣的,從使用者體驗的角度上講,還保留游標的閃動是好的。 解決方法1:(已經試過,證明可以) 在activity屬性中設定android:windowSoftInputMode="

某列表介面上的某按鈕時調出來另一個設計項的列表介面,選中被調出的列表介面上的值時【資料】能輸入資料的程式碼樣例

//例如:【出庫管理】設計項的列表介面上有一個【出庫】按鈕,點擊出庫按鈕時調出【入庫管理】設計項的列表介面,選中【入庫管理】列表介面上的一條記錄時,彈出輸入框,程式碼樣例如下   function(button, e) { debugger; // 中斷除錯指令,可以手動刪除它

CMFCToolBar::ReplaceButton() 替換CMFCToolBarMenuButton控制元件 按鈕選單問題

    最近使用MFC單文件做了一個專案,需要用到CMFCToolBar由於自己的按鈕是在太多了,所有又把相同的按鈕歸類也就是把相同的按鈕放在一個按鈕下,在點選這個按鈕的時候彈出合併的所有選項 問題1:在我點選有下拉項的按鈕右側(三角符號部分)時才會彈出

連結一個DIV層視窗

做裝置介紹頁面的時候,發現每個裝置點選檢視詳情都需要連結一個新的頁面,這樣比較影響網頁瀏覽的效率和舒適度,所以想用彈窗的形式在當前頁面展示詳情。彈出的視窗要固定在瀏覽器視窗的中間位置,我採用了fixed固定佈局。 <!--HTML--> <body style="backg

按鈕類似IOS 底部 dialog

implementation 'com.baoyz.actionsheet:library:1.1.7' 然後設定按鈕點選監聽,,呼叫下列程式碼即可 ActionSheet.createBuilder(this, getSupportFragmentManager())

Vue2.x-01按鈕子Vue元件,遍歷JSON展示資料

文章目錄 概述 實現過程 Step1: 父元件設定Button按鈕 Step2: 這裡使用了showHandlerFlag來控制子元件是否顯示,所裡需要在data中定義下這個變數 Step3: 引用宣告元件 Step4:

ueditor上傳圖片按鈕延時檔案選擇

1、報錯“請求後臺配置項http錯誤,上傳功能將不能正常使用!”,如圖所示: 解析:UEditor 提供了四種後臺語言 php,asp,asp.net,jsp ,你可以檢視下頁面引用的ueditor.config.js檔案內的serverUrl 引數,如果

android開發入門 按鈕對話方塊

1、在layout中新增按鈕 2、在MainActivity中新增以下函式 public void showDialog(View view){ AlertDialog.Builder builder=new AlertDialog.Builder(this);

webview長按實現選單欄

最近有一個需求,當長按點選webview,彈出選單欄,這是系統預設的有複製,全選,搜尋等功能,而不能滿足公司需求,同時公司需要將分享和搜尋功能去掉,新增自己的選單: 新增自己的功能,自定義webview,複寫下邊兩個方法: @Override public ActionMo

Android定位&地圖&導航——基於百度地圖,實現自定義圖示繪製並泡泡

public class MainActivity extends Activity { private EditText txtAddr; // 定位相關 LocationClient mLocClient; LocationData locData = nul

【Unity 3D 5.6版本使用(3)】物體視窗顯示狀態

emmm直接看程式碼 using System.Collections; using System.Collections.Generic; using UnityEngine; public class ShowWindow : MonoBehavio

2.1使用canvas畫個圓,每次畫布提示

<body><canvas id="canvas" width="500" height="500" style="border:dashed 1px"></canvas></body><script>var can