这是我的要求:我正在将一个 html 文件加载到 WebView 上。我在 html 文件中有一个按钮来选择日期。当我单击该按钮时,我想打开 android 日期选择器对话框。选择日期后,我想在 html 文件中显示所选日期。谁能指导我。请。HTML:
 <input type="button" value="Select Date" onClick="openDatePickerDialog()" />
 <p id = "date">--</p>
Javascript:
 function openDatePickerDialog() {
   AndroidFunction.openDatePickerDialog();
 }
function callFromActivity(date) {
document.getElementById('date').innerHTML = date;
 }
我的活动:
  public class MainActivity extends Activity {
WebView myBrowser;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    myBrowser = (WebView)findViewById(R.id.mybrowser);
    final MyJavaScriptInterface myJavaScriptInterface = new MyJavaScriptInterface(this);
    myBrowser.addJavascriptInterface(myJavaScriptInterface, "AndroidFunction");
    myBrowser.getSettings().setJavaScriptEnabled(true); 
    myBrowser.loadUrl("file:///android_asset/test.html");      
}
public class MyJavaScriptInterface 
{
    private int mYear;
    private int mMonth;
    private int mDay;
    static final int DATE_DIALOG_ID = 0;
    Context mContext;
    MyJavaScriptInterface(Context c)
    {
        mContext = c;
    }
    public void openDatePickerDialog()
    { 
        Calendar c = Calendar.getInstance();
        mYear = c.get(Calendar.YEAR);
        mMonth = c.get(Calendar.MONTH);
        mDay = c.get(Calendar.DAY_OF_MONTH);
        //updateDisplay();
        showDialog(DATE_DIALOG_ID);
    }
    private void updateDisplay() {
        String date = new StringBuilder().append(mMonth + 1).append("-")
        .append(mDay).append("-")
        .append(mYear).append(" ").toString();
        Toast.makeText(getApplicationContext(), date, Toast.LENGTH_LONG).show();
        myBrowser.loadUrl("javascript:callFromActivity(\""+date+"\")");
    }
    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();
        }
    };
    protected Dialog onCreateDialog(int id) {
        switch (id) {
        case DATE_DIALOG_ID:
            return new DatePickerDialog(MainActivity.this,
                    mDateSetListener,
                    mYear, mMonth, mDay);
        }
        return null;
    }
}
 }
问题:当我点击按钮时,我没有得到 DatePicker 对话框。我哪里错了?我的方法正确吗?