2012-02-09 74 views
1

我有一個TextView,可以通過觸摸轉換爲EditView。但是,當用戶觸摸EditView以外的任何地方時,我想要發生相反的情況。我嘗試過使用setOnFocusChangeListener,但只有在其他方面獲得關注時纔會起作用。我知道我可以攔截onTouch並在那裏檢查,但有沒有更簡單的方法來處理這種情況? TextView的和編輯視圖的Android - 如何判斷用戶是否在TextView以外的任何位置點擊?

回答

0

設置家長可聚焦

使所有佈局和視圖點擊,並實現OnClickListener每個寫onClickListener象下面這樣:

private ClickListener implements OnClickListener 
{ 
    pubic void onClick(View view) 
    { 
     if(v.getId()!=R.id.editView) 
     { 
       //Write your code here to replace views 
     } 
    } 
} 
1

我在我的項目中使用這個太並已解決此問題,如下所示:

我將EditText設置爲「focusable = true」和「clickable = true」,EditText沒有背景 因此它看起來像一個TextView,焦點更改我更改EditText的文本顏色,所以用戶 可以看到他/她可以編輯文本。然後,外面的佈局有一個OnClickListener,點擊 我隱藏軟件鍵盤並將文本顏色更改回TextView顏色。這一切 正在工作,無需切換元素。如果你願意,你可以將兩個元素放在一個FrameLayout中以確保元素在佈局中具有相同的位置,在TextView上實現一個 OnClickListener,然後在onClick事件中切換Objects的可見性。

也許這個想法可以幫助你;)

相關問題