久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

按“."多次(鍵入時在 EditText 中驗證 IP 地址

press quot;.quot; many times (validate ip address in EditText while typing)(按“.多次(鍵入時在 EditText 中驗證 IP 地址))
本文介紹了按“."多次(鍵入時在 EditText 中驗證 IP 地址)的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

限時送ChatGPT賬號..

我有以下 EditText:

I have the following EditText:

 <EditText
android:id="@+id/ip"
android:layout_width="200dip"
android:layout_height="wrap_content"
android:singleLine="true"
android:inputType="numberDecimal">
</EditText>

我想用它來獲取IP地址.但它不允許我輸入."(句號)不止一次,因為 inputtype 設置為 numberDecimal.關于如何獲得多個."的任何建議同時將 inputType 設置為數字.

I want to use this to get ip address. But it will not allow me to type '.' (period sign) more than once because the inputtype is set to numberDecimal. Any suggestion on how to get more than one '.' while setting inputType to numbers.

推薦答案

你需要創建自己的InputFilter:http://developer.android.com/reference/android/text/InputFilter.html

看看我前段時間寫的這個答案:如何設置 Edittext 視圖只允許兩個數值和兩個十進制值,如 ##.##

Take a look at this answer I wrote some time ago: How to set Edittext view allow only two numeric values and two decimal values like ##.##

這是對該過濾器的修改以驗證 ips.它檢查是否存在四位數字,用點分隔,并且沒有一個大于 255.驗證是實時進行的,即在打字時.

Here is an adaptation to that filter to validate ips. It checks for the presence of four digits, separated by dots and none of them bigger than 255. The validation occurs in real time, i.e., while typing.

    EditText text = new EditText(this);
    InputFilter[] filters = new InputFilter[1];
    filters[0] = new InputFilter() {
        public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
            if (end > start) {
                String destTxt = dest.toString();
                String resultingTxt = destTxt.substring(0, dstart) + source.subSequence(start, end) + destTxt.substring(dend);
                if (!resultingTxt.matches ("^\d{1,3}(\.(\d{1,3}(\.(\d{1,3}(\.(\d{1,3})?)?)?)?)?)?")) { 
                    return "";
                } else {
                    String[] splits = resultingTxt.split("\.");
                    for (int i=0; i<splits.length; i++) {
                        if (Integer.valueOf(splits[i]) > 255) {
                            return "";
                        }
                    }
                }
            }
        return null;
        }
    };
    text.setFilters(filters);

這篇關于按“."多次(鍵入時在 EditText 中驗證 IP 地址)的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

Cut, copy, paste in android(在android中剪切、復制、粘貼)
android EditText blends into background(android EditText 融入背景)
Change Line Color of EditText - Android(更改 EditText 的線條顏色 - Android)
EditText showing numbers with 2 decimals at all times(EditText 始終顯示帶 2 位小數的數字)
Changing where cursor starts in an expanded EditText(更改光標在展開的 EditText 中的開始位置)
EditText, adjustPan, ScrollView issue in android(android中的EditText,adjustPan,ScrollView問題)
主站蜘蛛池模板: 超碰97在线免费 | 中文字幕一区在线观看视频 | 日韩精品成人av | 色资源在线视频 | av在线播放不卡 | 国产精品网址 | 超碰高清| 一区二区三区亚洲 | 涩在线 | 久久久精品在线 | 黄色片免费看视频 | 国产日韩欧美一区二区在线播放 | 欧美自拍一区 | 日韩欧美在线观看 | 国产人成精品一区二区三 | 成人h视频在线 | 国产精品久久久久久久久久软件 | 成年人在线观看 | 国产高清视频在线播放 | 中文字幕视频在线观看 | 粉嫩一区二区三区四区公司1 | 精品国产高清一区二区三区 | 欧美综合久久 | 亚洲精品视频播放 | 日日干干 | 国产999精品久久久久久 | 在线一区观看 | 日韩免费中文字幕 | 91视频进入 | 免费一级淫片aaa片毛片a级 | 国产农村妇女精品一二区 | 国产亚洲欧美另类一区二区三区 | 视频一二三区 | 日韩亚洲一区二区 | 九九热在线免费视频 | 美女视频一区二区三区 | 国产精品视频在线播放 | 精品熟人一区二区三区四区 | 欧美xxxx日本 | 亚洲国产精品激情在线观看 | 91在线免费视频 |