Android: View換切後,無法正常設定焦點或切換後TextView的虛擬鍵盤不彈出

來源:互聯網
上載者:User

1. 在同一個Activity中的不同View(layout)中切換介面時,經常發生TextView無法正常取得焦點。

或者更嚴重的情況是,有了焦點,但點擊後,虛擬鍵盤不彈出,根本就無法正常輸入資料。

我昨天晚上為瞭解決這個焦點和虛擬鍵盤不彈出的問題,花了三個小時。

最終的解決方案:

當由view1 切換到 view2 時:

setContentView(view2);  
  View v = getCurrentFocus();
  if(v!=null)
  {
   v.clearFocus(); //清空原來的焦點
  }    
  tNumber.requestFocus(); //取的焦點

我在網上看到有人說,當你執行到 setContentView()後,介面並沒有馬上繪製出來,當介面還沒有完成繪製完成,就馬上執行到了requestFocus(),所以無法正常取得焦點。

 

最根本的原因是什麼,我還真的說不清楚

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.