请问时间如何显示??
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="当前时间:" />
52
收起
正在回答
3回答
额~~~给你一个提示哈,借用一下你的代码:
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语句中这么写,
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返回的是某一个控件的对象,但是你把这个控件的对象打印出来。这个肯定是不对的。
如果你想在控制台打印的话 ,还是应该先获取时间,然后将这个时间字符串打印出来,而不是打印一个对象,
例如:
String time="当前时间:"+(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS")).format(Calendar.getInstance().getTime()); System.out.println(time);
不知道明白了木有呢~
Android零基础入门2018版
- 参与学习 人
- 提交作业 5461 份
- 解答问题 7238 个
此次推出的专题为Android攻城狮培养计划的第一部分语法与界面基础篇,将带大家从0开始学习Android开发。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星