2012-11-06 61 views
3

我正在開發黑莓應用程序,並且在設置初始領域(這不是經理中的第一個領域)時遇到一些問題。這是一塊屏幕的構造函數的代碼:兩個領域同時關注

public class BaseScreen extends MainScreen { 

    ... 
    public BaseScreen() { 

     ... 
     //adding fields to attribute _body(Manager) including the field to be focused 
     ... 

     add(_body) 
     _body.setFieldWithFocus(fieldToFocus); 

    } 
    ... 
} 

事實證明,本場fieldToFocus沒有油漆本身作爲重點,一旦顯示在屏幕上。但經理的第一個領域也是如此。這意味着我有兩個領域同時關注!

我錯過了什麼?由於

+1

您是否實現了'onFocus','fieldToFocus'的onUnfocus方法和第一個字段?如果沒有,那麼實現它們並從它們調用'invalidate'。這將導致重繪力量,只有焦點領域將有預期的外觀。 – Rupak

回答

1

能否請您嘗試更換此:

_body.setFieldWithFocus(fieldToFocus);

與此:

fieldToFocus.setFocus();

我很想知道這是否能解決您的問題。

你試圖使用的方法(setFieldWithFocus())是不是我在過去使用的一個,而你看到兩個重點領域其實是一個有趣的效果。你能告訴使用什麼操作系統和設備(模擬器)你看到這一點。