我試圖在活動的軟鍵盤上添加onClick。原因是我想檢查用戶是否當前處於活動狀態。所以我所做的是,如果用戶點擊應用程序,我會重置一個不活動計時器。問題是,當用戶與軟鍵盤交互時,它不會調用功能onUserInteraction()
,這是我在活動中重寫的功能。所以我需要幫助,找到一種方法來跟蹤軟鍵盤已被點擊每個文本字段等我在活動中。 (我知道我可以在每個EditText字段中插入一個onclick查找器,但是我寧願不這樣做,因爲如果我將使用許多EditText字段,它將不會那麼好)Android在活動上添加onClick軟鍵盤
回答
所以這是我結束了。我希望有其他的東西,但是這解決了這個問題。謝謝您的幫助!
public class ActivityEditText extends android.support.v7.widget.AppCompatEditText {
private TextWatcher tw;
public ActivityEditText(Context c)
{
super(c);
this.setOurTCL();
}
public ActivityEditText(Context context, AttributeSet attrs) {
super(context, attrs);
this.setOurTCL();
}
public ActivityEditText(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
this.setOurTCL();
}
private void setOurTCL()
{
this.tw = new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
InactivityManager.resetTime();
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
}
};
this.addTextChangedListener(this.tw);
}
@Override
public void removeTextChangedListener(TextWatcher watcher) {
if(!watcher.equals(this.tw))
super.removeTextChangedListener(watcher);
}
}
您可以使用onUserInteraction()
函數的活動。您需要在您的活動中重寫此功能。 此功能可在您與您的活動進行任何形式的互動時接聽電話。
@Override
public void onUserInteraction() {
super.onUserInteraction();
// Your code goes here
}
你可以參考this example和also this answer,請參閱該文檔
希望這有助於。
正如我在說明中所說的,我已經覆蓋了該方法,但它似乎沒有響應軟鍵盤的交互。 – Linussjo
您可以擴展edittext來創建customedittext並在其中添加textwatcher或處理onclick來檢查您的不活動計時器 –
要處理單個按鍵,請根據需要實施onKeyDown()或onKeyUp()。通常,如果你想確保你只接收一個事件,你應該使用onKeyUp()。如果用戶按下並按住按鈕,則會多次調用onKeyDown()。
創建一個類的一些東西一樣UserInteractionEditText
,延長EditText
,並設置在類的onclick lisetener使用該類中的所有XML的佈局,你使用EditText
你可以做一些這樣的事:
public class UserInteractionEditText extends EditText implements View.OnClickListener {
public UserInteractionEditText(Context context) {
super(context);
}
public UserInteractionEditText(Context context, AttributeSet attrs) {
super(context, attrs);
}
public UserInteractionEditText(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@Override
public void onClick(View v) {
//TODO:: Handle user Click Events
}
}
- 1. onClick控制軟鍵盤 - Android
- 2. 從軟鍵盤開始活動沒有隱藏軟鍵盤
- 3. Android上的軟鍵盤
- 4. 向上滾動軟鍵盤
- 5. Android - 將下一個和上一個按鈕添加到軟鍵盤中,該軟鍵盤出現在我的活動中編輯文本的點擊上
- 6. 當我們開始新的活動時,android軟鍵盤會自動打開。我必須關閉android軟鍵盤
- 7. 在單一活動中隱藏軟鍵盤 - Android
- 8. 活動開始時顯示軟鍵盤
- 9. Android軟鍵盤按鍵振動
- 10. 顯示在webview上的Android軟鍵盤
- 11. Android的軟鍵盤
- 12. 當我在活動group.Tabs的子活動打開軟鍵盤的Android
- 13. Android:檢測用戶不活動/檢測(軟鍵盤)鍵盤輸入
- 14. 在Android中完成鍵盤上隱藏軟鍵盤?
- 15. Android軟鍵盤 - 需要Android軟鍵盤的源代碼AOSP
- 16. 在Android中,如何將視圖添加到軟鍵盤?
- 17. AS3軟鍵盤自動向上滑動
- 18. 將按鈕添加到軟鍵盤
- 19. 當軟鍵盤被激活時,Android webview向下滾動
- 20. 試圖從活動創建Android軟鍵盤
- 21. 如何禁用特定活動的Android軟鍵盤?
- 22. 停止Android軟鍵盤閃爍的黑色切換活動
- 23. 隱藏android軟鍵盤當軟鍵盤按一鍵時
- 24. 在軟鍵盤上添加自定義圖釋
- 25. 如何在軟鍵盤上的建議中添加單詞
- 26. 的Android EditText上的軟鍵盤問題
- 27. Android上的數字軟鍵盤
- 28. 什麼觸發Android上的軟鍵盤?
- 29. 當一項活動加載時,又壓低軟鍵盤...
- 30. Android軟鍵盤和輸入動作
你能不能細說一下。當前活動的含義是什麼 - 如果應用程序已打開或用戶正在屏幕上執行操作? – Praga
@Praga這意味着用戶正在屏幕上執行操作。 – Linussjo
然後你不需要依賴鍵盤操作。你可以與Faa km的答案一起去。 – Praga