2017-04-21 75 views
1

我在我的日历应用程序中使用showNativePicker(),当我选择一个日期时,它将只显示当前日期,所以我如何管理它以在showNativePicker()方法中显示所选日期?提前致谢。Codename one showNativePicker()方法问题

这是我的代码: -

try{ 
      Display.getInstance().showNativePicker(Display.PICKER_TYPE_DATE,PivDisplayCalendar.this, value, metaData); 
      Storage.getInstance().writeObject("Date", value); 
      Log.p(value.toString()); 
      Dialog.show("Selected Date", value.toString(), "OK", ""); 
    } 
      catch(Exception e) { 
         e.printStackTrace(); 
      } 
+0

的[类文档(https://www.codenameone.com/javadoc/com/codename1/ui/Display.html#showNativePicker-int -com.codename1.ui.Component-java.lang.Object-java.lang.Object-)显示该方法返回一个值。将'value'作为参数传递对变量'value'的后续状态没有影响 – spacepickle

+0

但是当我在日志中打印值时,它会显示当前日期。 @spacepickle –

+0

我的意思是使用'value = ...'参见[这个答案](http://stackoverflow.com/a/23622491/2842227)为什么你不应该直接使用这个方法,虽然 – spacepickle

回答

2

你不会被调用的返回值捕捉到showNativePicker()

下面是一个例子的代码。注意第二行的赋值语句。您可能需要转换/转换这是该方法返回Object

try { 
    value = Display.getInstance().showNativePicker(Display.PICKER_TYPE_DATE,PivDisplayCalendar.this, value, metaData); 
    Storage.getInstance().writeObject("Date", value); 
    Log.p(value.toString()); 
    Dialog.show("Selected Date", value.toString(), "OK", ""); 
} catch(Exception e) { 
    e.printStackTrace(); 
}