Java 时间选择器对话框

Java 时间选择器对话框,java,android,Java,Android,我正在使用多个文本视图和onclick侦听器,这些侦听器将我指向一个时间选择器对话框 但是,在阅读教程之后,我似乎不知道如何编写代码 textview1.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { showDialog(TIME_DIALOG_ID); } }); textview2.setOnClick

我正在使用多个文本视图和onclick侦听器,这些侦听器将我指向一个时间选择器对话框

但是,在阅读教程之后,我似乎不知道如何编写代码

    textview1.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            showDialog(TIME_DIALOG_ID);
        }
    });

    textview2.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            showDialog(TIME_DIALOG_ID);
        }
    });
要显示该对话框,请执行以下操作:

@Override
protected Dialog onCreateDialog(int id) {
    switch (id) {
    case TIME_DIALOG_ID:
        return new TimePickerDialog(this,
                mTimeSetListener, mHour, mMinute, true);
    }
    return null;
}
最后

private TimePickerDialog.OnTimeSetListener mTimeSetListener =
        new TimePickerDialog.OnTimeSetListener() {
            @Override
            public void onTimeSet(android.widget.TimePicker view,
                    int hourOfDay, int minute) {
                mHour = hourOfDay;
                mMinute = minute;
            }
        };
现在,对于在TimePickerDialog.OnTimeSetListener回调之后调用timepicker的textview,我应该如何编写代码

答案很简单,但我缺乏面向对象的知识,仍在学习。
谢谢…

使用编辑文本,我们可以在编辑文本上获得pikker长按的时间

EditText timeDisplay=(EditText)findViewById(R.id.timeDisplay);

timeDisplay.setOnClickListener(new View.OnClickListener()
{
    public void onClick(View v) {

        showDialog(TIME_DIALOG_ID);    
    }    
});
在类中创建一个成员变量(例如
int whichViewClicked=0
),以跟踪单击的textview以调出时间选择器


现在,如果单击textview1,则设置TextViewClicked=1,如果单击textview2,则设置TextViewClicked=2,依此类推。在onTimeSet()方法中,检查单击的视图的值,并相应地设置textview文本

您需要使用全局变量。说,
String fromWhere=“”

现在,


如果我在adapter中,我的意思是类继承自ArrayAdapter,我不能说showdialoge(0)@AHM:为什么需要从适配器类打开对话框?通过获取列表项的相关id(如果使用ArrayAdapter呈现列表),可以在活动本身中实现这一点。
    textview1.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                fromWhere="textview1";
                showDialog(TIME_DIALOG_ID);
            }
    });

    textview2.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                fromWhere="textview2";
                showDialog(TIME_DIALOG_ID);
            }
    });
    ...
    private TimePickerDialog.OnTimeSetListener mTimeSetListener =
            new TimePickerDialog.OnTimeSetListener() {
                @Override
                public void onTimeSet(android.widget.TimePicker view,
                        int hourOfDay, int minute) {

                    if(fromWhere.equals(textview1))
                           // set hour and minute to according variable and textview
                    else if(fromWhere.equals(textview2))
                           // set hour and minute to according variable and textview
                    .. //so on for others
                    //mHour = hourOfDay;
                    //mMinute = minute;
                    fromWhere="";
                }
    };