簡體   English   中英

單擊EditText視圖時如何選擇所有文本?

[英]How do I select all text when clicking on a EditText view?

所以我嘗試了android:selectAllOnFocus,當然我正在使用android:提示。 應用程序加載,requestFocus觸發器和全文被選中。

問題是,當我單擊EditText時,選擇將丟失。

我已經讀過: 在獲得焦點時選擇EditText中的所有文本

出於某種原因,只有當我用Handler發布它時,它才能(在Jelly Bean上):

new Handler().post(new Runnable() {
    @Override
    public void run() {
        paidView.selectAll();
    }
});

在View.OnClickListener中設置選擇,如下所示:( 0和文本長度與之前批准的響應相反) - 這將確保當用戶開始鍵入內容時將覆蓋內容。

editText.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        editText.setSelection(editText.getText().length() - 1, 0);
    }
}

我意識到這是一個老帖子,但我有同樣的問題。 對我來說,原因是我喜歡將鍵盤移開(解除它)以獲取我的方位(或按下按鈕來添加或刪除數據行),當我回到我之前編輯的EditText時,讓鍵盤彈回並且文本取消選擇令人討厭,迫使我要么將光標移動到我想要開始刪除的位置,要么觸摸另一個EditText然后再觸摸原始文件以重新選擇所有內容。 我只想讓鍵盤彈出並重新選擇文本並准備好在我轉到EditText時覆蓋。

這有簡單的解決方案:

1)長時間點擊可以在大多數情況下為您完成。

2)如果你已經在使用setSelectAllOnFocus(true) ,你可以在你的onClick監聽器中拋出一個簡單的clearFocus()requestFocus()

etMyEditText.setSelectAllOnFocus(true);
etMyEditText.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        view.clearFocus();
        view.requestFocus();
    }
});

這樣,無論軟鍵盤狀態如何,EditText都會在您點擊它時選擇所有內容。

額外獎勵:在AndroidManifest.xml文件的<activity .../>標記內添加android:windowSoftInputMode="adjustPan"以便在彈出軟鍵盤時強制所選的EditText保持可見狀態。

嘗試這個

editText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
    editText.selectAll();
    //or this.selectAll();
}

選擇所有文本。

View.OnClickListener設置選擇, View.OnClickListener所示:

editText.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        editText.setSelection(0, editText.getText().length() - 1);
    }
}

在你做了findViewById之后做了下面的代碼,你很高興:

    edtProductPrice.setSelectAllOnFocus(true);
    edtProductPrice.requestFocus();
    edtProductPrice.selectAll();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM