Android studio - 在一个页面上创建三个独立的时间微调器。 [英] Android studio - creating three independent time spinners on one page.
本文介绍了Android studio - 在一个页面上创建三个独立的时间微调器。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
大家好,
请有人帮帮我吗?
我一直在苦苦挣扎几天知道让三个独立工作的时间戳工作在我的Android Studio应用程序的单个页面上工作。
目前我甚至无法让这两个时间戳工作者彼此独立工作我只是不明白为什么。
任何建议都将不胜感激。
Sarah
我尝试过:
Hi All,
Please could someone help me?
I have been struggling for days know to get three independently working timepickers to work on a single page on my Android Studio app.
At present I cannot even get these two timepickers to work independently of each other and I just don't understand why.
Any advice would be greatly appreciated.
Sarah
What I have tried:
import java.util.Calendar;
import android.app.TimePickerDialog;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.text.InputType;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.EditText;
import android.widget.TimePicker;
public class MainActivity extends AppCompatActivity implements OnClickListener {
private EditText time1Text, time2Text;
private int mHour, mMinute;
private TimePickerDialog time1TimePickerDialog;
private TimePickerDialog time2TimePickerDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
time1Text = (EditText) findViewById(R.id.etTime1);
time1Text.setInputType(InputType.TYPE_NULL);
time1Text.requestFocus();
time2Text = (EditText) findViewById(R.id.etTime2);
time2Text.setInputType(InputType.TYPE_NULL);
time1Text.setOnClickListener(this);
time2Text.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// Get Current Time
final Calendar c = Calendar.getInstance();
mHour = c.get(Calendar.HOUR_OF_DAY);
mMinute = c.get(Calendar.MINUTE);
// Launch Time Picker Dialog
time1TimePickerDialog = new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
time1Text.setText(hourOfDay + ":" + minute);
}
}, mHour, mMinute, false);
time1TimePickerDialog.show();
}
}
推荐答案
onTimeSet()内部
方法,你只使用time1Text
。
在你当前的实现中,查看
传递给的对象onClick()
是被点击的EditText
。考虑到这一点,我的建议如下:
Inside of theonTimeSet()
method, you are only usingtime1Text
.
In your current implementation, theView
object that is passed toonClick()
is theEditText
that was clicked. Taking that into consideration, my suggestion would be something like:
@Override
public void onClick(View v)
{
// Get Current Time
Calendar c = Calendar.getInstance();
mHour = c.get(Calendar.HOUR_OF_DAY);
mMinute = c.get(Calendar.MINUTE);
// Launch Time Picker Dialog
TimePickerDialog tpd = new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener()
{
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute)
{
((EditText) v).setText(hourOfDay + ":" + minute);
}
}, mHour, mMinute, false);
tpd.show();
}
发送到的
方法是单击的查看
对象onClick()EditText
小部件。用以下内容区分它们:
TheView
object that is sent to theonClick()
method is theEditText
widget that was clicked on. Differentiate between them with something like:
EditText et = (EditText) v;
if (et.getId() == R.id.etTime1)
;
else if (et.getId() == R.id.etTime2)
;
这篇关于Android studio - 在一个页面上创建三个独立的时间微调器。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文