2010-10-28 29 views
0

我正在編寫一個應用程序,它具有一個功能,要求用戶在PopupScreen上的BasicEditField中輸入文件名。該應用程序與Blackberry Storm 2無縫兼容 - 模擬器和真實設備。將數據輸入到BlackBerry Torch上的BasicEditField中

問題是該應用程序無法在BlackBerry Torch上工作 - 既不是模擬器也不是設備。我無法將文本輸入到BasicEditField中。

爲什麼BlackBerry Torch上的鍵盤不能使用BasicEditField?我也嘗試了EditField而不是BasicEditField,但它也不起作用。

private BasicEditField txtFileName = 
    new BasicEditField("Name: ", "", 50, EditField.EDITABLE | EditField.FILTER_FILENAME); 
... 
Constructor() 
{ 
    add(txtFileName); 
} 

回答

1

好的,我所犯的錯誤是將keyChar方法的錯誤返回值。我把
返回true;
在方法結束時,
這應該是
返回super.keyChar(密鑰,狀態,時間);
下面是爲keyChar法的正確實施:

public boolean keyChar(char key, int status, int time) 
{ 
    .................. 
    /* 
    return true; // user cannot type in the BasicField on Torch, but can type on Storm 
    */ 
    return super.keyChar(key,status,time);// works on both Torch and Storm 
} 
0

這不是你的問題的答案,但我有一個代碼片段,可能會有所幫助。我嘗試使用以下代碼重現上面描述的內容。它的工作沒有問題:

private static class AppScreen extends PopupScreen 
{ 
    AppScreen() { 
     super(new VerticalFieldManager(), Field.FOCUSABLE); 

     BasicEditField txtFileName = new BasicEditField("Name: ", "", 50, 
       EditField.EDITABLE | EditField.FILTER_FILENAME); 
     add(txtFileName); 
    } 
} 

對不起,我沒有直接回答你的問題,但希望上面的代碼可以幫助你跟蹤你的應用程序中的問題。

+0

謝謝Fostah快速回復!我會再次跟蹤我的代碼並向您報告。乾杯! – 2010-10-29 02:53:04