请问时间如何显示??

请问时间如何显示??

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="当前时间:" />


正在回答

登陆购买课程后可参与讨论,去登陆

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);

不知道明白了木有呢~

  • sd_单子 提问者 #1
    非常感谢!比心~~~
    2017-03-27 17:58:43
喜欢做梦的鱼 2017-03-27 12:37:39

代码贴出来看一下~

  • 提问者 sd_单子 #1
    改过问题了,请过目~~我不知道是那块调用出问题了
    2017-03-27 15:43:42
喜欢做梦的鱼 2017-03-24 21:41:32

可以通过 findViewById  方法获取 Time 控件,然后设置text属性,就可以把时间动态关联到控件上显示了~~

  • 提问者 sd_单子 #1
    在内部类对应图片里显示该如何调用?System.out.println无法显示,setText方法报错
    2017-03-27 11:47:27
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师