안녕하세요.
제가 지금 웹뷰에서 날짜를 누르면
자동으로 안드로이드 datepicker이 뜨게 하려고 하는데요.
즉, 웹페이지에서 안드로이드 함수를 호출하는 방식입니다.
예제들은 앱자체에서 버튼을 만들어 누르면 되게만 되어 있더군요.
현재 이걸 붙잡고, 씨름하고 있습니다만.
예제로 알려주실분 없나요?
죄송하지만 도와주십시오.
일단 예제 소스도 올립니다.
이 예제에서는 앱을 실행시키면 바로 날짜입력하게 나오게 하려고 하고있습니다.
package com.android.date;
import android.app.Activity;
import android.os.Bundle;
import java.util.Calendar;
import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.TextView;
public class TestDateActivity extends Activity {
private TextView mDateDisplay;
private Button mPickDate;
private int mYear;
private int mMonth;
private int mDay;
static final int DATE_DIALOG_ID = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
capture our View elements
mDateDisplay = (TextView) findViewById(R.id.dateDisplay);
/mPickDate = (Button) findViewById(R.id.pickDate);
// add a click listener to the button
mPickDate.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
showDialog(DATE_DIALOG_ID);
}
});
// get the current date
final Calendar c = Calendar.getInstance();
mYear = c.get(Calendar.YEAR);
mMonth = c.get(Calendar.MONTH);
mDay = c.get(Calendar.DAY_OF_MONTH);
// display the current date
updateDisplay();
}
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case DATE_DIALOG_ID:
return new DatePickerDialog(this,
mDateSetListener,
mYear, mMonth, mDay);
}
return null;
}
private void updateDisplay() {
mDateDisplay.setText(
new StringBuilder()
// Month is 0 based so add 1
.append(mMonth + 1).append("-")
.append(mDay).append("-")
.append(mYear).append(" "));
}
private DatePickerDialog.OnDateSetListener mDateSetListener =
new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year,
int monthOfYear, int dayOfMonth) {
mYear = year;
mMonth = monthOfYear;
mDay = dayOfMonth;
updateDisplay();
}
};
}




얼핏 보기에 하이브리드 방식인거 같은데 웹뷰 이벤트를 받아와서 처리 하려면 브릿지 클래스를 생성해서 해야 합니다.
안드로이드 하이브리드 어플 검색해 보시면 금새 확인 하실 수 있을겁니다.