请问时间如何显示??
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | public class MainActivity extends ActionBarActivity { private ToggleButton toggleButton; private RadioGroup rg; private RadioButton rb_w1, rb_w2, rb_w3; private ImageView imageView; private TextView Time; //获取时间以及更改显示时间格式 Calendar calendar=Calendar.getInstance(); Date now = new Date(); @SuppressLint ( "SimpleDateFormat" ) SimpleDateFormat dateFormat = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss:ms" ); String time = dateFormat.format(now); @Override protected void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.linear); toggleButton = (ToggleButton) findViewById(R.id.wifi); rg = (RadioGroup) findViewById(R.id.choose); rb_w1 = (RadioButton) findViewById(R.id.meeting); rb_w2 = (RadioButton) findViewById(R.id.office); rb_w3 = (RadioButton) findViewById(R.id.visitor); imageView=(ImageView) findViewById(R.id.imageView); Time=(TextView) findViewById(R.id.Time); Time.setText( "当前时间为:" +Time); rg.setOnCheckedChangeListener( new RadioButtonListener()); toggleButton.setOnClickListener( new OnClickListener() { @Override public void onClick(View arg0) { if (toggleButton.isChecked()) { Toast.makeText(MainActivity. this , toggleButton.getText().toString(), Toast.LENGTH_LONG).show(); rg.setVisibility(View.VISIBLE); } else { Toast.makeText(MainActivity. this , toggleButton.getText().toString(), Toast.LENGTH_LONG).show(); rg.setVisibility(View.GONE); } } }); } class RadioButtonListener implements OnCheckedChangeListener{ @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch (checkedId){ case R.id.meeting: imageView.setImageResource(R.drawable.meeting); System.out.println(findViewById(R.id.Time)); break ; case R.id.office: imageView.setImageResource(R.drawable.office); System.out.println(findViewById(R.id.Time)); break ; case R.id.visitor: imageView.setImageResource(R.drawable.visitor); System.out.println(findViewById(R.id.Time)); break ; } } } } |
<TextView
android:id="@+id/Time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="当前时间:" />
正在回答
额~~~给你一个提示哈,借用一下你的代码:
1 2 3 4 | case R.id.meeting: imageView.setImageResource(R.drawable.meeting); System.out.println(findViewById(R.id.Time)); break ; |
这是你原来的代码
现在的需求是点击的时候在界面上显示时间所以~~~你需要在界面上在加一个控件 名字叫做TextView 然后id可以叫txt_showTime,
在oncreate方法中需要对这个TextView进行初始化操作:
txt_showTime = (TextView)findViewById(R.id.txt_showTime);
然后呢,在你上面的case语句中这么写,
1 2 3 4 5 6 7 8 9 10 | case R.id.meeting: imageView.setImageResource(R.drawable.meeting); System.out.println(findViewById(R.id.Time)); //以下代码获取当前时间 String time= "当前时间:" +( new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss:SS" )). format(Calendar.getInstance().getTime()); //时间获取到了以后,直接将时间在textview上显示 txt_showTime.setText(time); break ; |
这样就可以了~
其实还是整体逻辑思路的问题和理解的问题,
比如:System.out.println(findViewById(R.id.Time));
你写的这行代码,findViewById返回的是某一个控件的对象,但是你把这个控件的对象打印出来。这个肯定是不对的。
如果你想在控制台打印的话 ,还是应该先获取时间,然后将这个时间字符串打印出来,而不是打印一个对象,
例如:
1 2 | String time= "当前时间:" +( new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss:SS" )).format(Calendar.getInstance().getTime()); System.out.println(time); |
不知道明白了木有呢~
- 参与学习 人
- 提交作业 5461 份
- 解答问题 7235 个
此次推出的专题为Android攻城狮培养计划的第一部分语法与界面基础篇,将带大家从0开始学习Android开发。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧