gpt4 book ai didi

android - 如何在android中使用日期和时间选择器,我有什么错误以及如何解决

转载 作者:行者123 更新时间:2023-12-03 08:30:10 25 4
gpt4 key购买 nike

我正在创建一个使用date and time picker的简单android应用程序,但系统给我一个语法错误,如何解决此错误?

该应用程序允许用户选择日期和时间,而不是将其显示在TextView

错误是:在if语句 dialogpick timepick 的onclick方法中,错误提示: timepick/dialogpick无法解析为变量

MainActivity.java

package com.example.datetime;

import java.text.DateFormat;
import java.util.Calendar;

import android.os.Bundle;
import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.DatePickerDialog.OnDateSetListener;
import android.app.TimePickerDialog;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.TextView;
import android.widget.TimePicker;

public class MainActivity extends Activity implements OnClickListener {
// btn1=time btn2=date
Button btn1, btn2;
TextView txtv;
Calendar cal = Calendar.getInstance();
DateFormat dt = DateFormat.getDateTimeInstance();

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn1 = (Button) findViewById(R.id.button1);
btn2 = (Button) findViewById(R.id.button2);
txtv = (TextView) findViewById(R.id.textView1);
btn1.setOnClickListener(this);
btn2.setOnClickListener(this);

DatePickerDialog.OnDateSetListener dialogpick = new DatePickerDialog.OnDateSetListener() {

@Override
public void onDateSet(DatePicker view, int year, int monthofyear,
int dayofmonth) {
// TODO Auto-generated method stub
cal.set(Calendar.YEAR, year);
cal.set(Calendar.MONTH, monthofyear);
cal.set(Calendar.DAY_OF_MONTH, dayofmonth);
updateText();

}

private void updateText() {
// TODO Auto-generated method stub

}

};
TimePickerDialog.OnTimeSetListener timepick = new TimePickerDialog.OnTimeSetListener() {

@Override
public void onTimeSet(TimePicker view, int hourofday, int minute) {
// TODO Auto-generated method stub
cal.set(Calendar.HOUR_OF_DAY, hourofday);
cal.set(Calendar.MINUTE, minute);
updateText();

}

private void updateText() {
// TODO Auto-generated method stub

}

};

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

@Override
public void onClick(View v) {
// TODO Auto-generated method stub

if (v.getId() == R.id.button1) {

new DatePickerDialog(MainActivity.this, dialogpick,
cal.get(Calendar.YEAR), cal.get(Calendar.MONTH),
cal.get(Calendar.MONDAY)).show();
} else if (v.getId() == R.id.button2) {
new TimePickerDialog(MainActivity.this, timepick,
cal.get(Calendar.HOUR_OF_DAY), cal.get(Calendar.MINUTE))
.show();
}

}

}

最佳答案

TimePickerDialog.OnTimeSetListener timepick = new TimePickerDialog.OnTimeSetListener()
timepickonCreate()中的局部变量。您不能使用其他方法(例如 onClick())访问局部变量。

您可以将 timepick的声明和实例化移到 onCreate()之外的类成员级别。您可以从所有实例方法访问成员字段。
dialogpick也是如此。

关于android - 如何在android中使用日期和时间选择器,我有什么错误以及如何解决,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20718712/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com