loading...

jueves, 8 de marzo de 2012

updateDisplay() en Android

 

Código de ejemplo donde se ve la utilización  de la función updateDisplay() en Android

public class WebViewTest extends Activity {
/** Called when the activity is first created. */
WebView webview;
private int mHour;

private int mMinute;
static final int TIME_DIALOG_ID = 0;

String mTimeDisplay;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView
(R.layout.main);

webview
= (WebView) findViewById(R.id.webview);

webview
.addJavascriptInterface(new JavaScriptInterface(), "Android");
WebSettings webSettings = webview.getSettings();


webSettings
.setSavePassword(false);
webSettings
.setSaveFormData(false);
webSettings
.setJavaScriptEnabled(true);

webview
.loadUrl(
"file:///android_asset/Test.html");

}
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case TIME_DIALOG_ID:
return new TimePickerDialog(this,
mTimeSetListener
, mHour, mMinute, false);
}
return null;
}
// updates the time we display in the TextView
private void updateDisplay() {

mTimeDisplay
= new StringBuilder().append(pad(mHour)).append(":").append(pad(mMinute)).toString();

}


private String pad(int c) {
if (c >= 10)
return String.valueOf(c);
else
return "0" + String.valueOf(c);
}

private TimePickerDialog.OnTimeSetListener mTimeSetListener = new TimePickerDialog.OnTimeSetListener() {
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
mHour
= hourOfDay;
mMinute
= minute;
updateDisplay
();

StringBuilder buf=new StringBuilder("javascript:settime(");


buf
.append(mTimeDisplay);
buf
.append(
")");


webview
.loadUrl(buf.toString());

}
};
public class JavaScriptInterface {
public String ShowTimePicker()throws JSONException {


showDialog
(TIME_DIALOG_ID);


JSONObject json=new JSONObject();


json
.put("lat", mTimeDisplay);

return(json.toString());
}



}

HTML y JS

<script type="text/javascript">

function settime(lat) {
document
.getElementById(
"lat").innerHTML=lat;
  
}

function Show()
{
//var t=Android.ShowTimePicker();
var location=JSON.parse(Android.ShowTimePicker());
document
.getElementById("lat").innerHTML=location.lat;         
 
}

 
</script>


Time: 
<span id="lat">(unknown)</span>
<input type="button" onclick="Show()" value="Show" /> 


No hay comentarios:

Publicar un comentario