public void dispatchDemoCommand(String command, Bundle args) { if (!mDemoMode && command.equals(COMMAND_ENTER)) { mDemoMode = true; } else if (mDemoMode && command.equals(COMMAND_EXIT)) { mDemoMode = false; updateClock(); } else if (mDemoMode && command.equals(COMMAND_CLOCK)) { String millis = args.getString("millis"); String hhmm = args.getString("hhmm"); if (millis != null) { mCalendar.setTimeInMillis(Long.parseLong(millis)); } else if (hhmm != null && hhmm.length() == 4) { int hh = Integer.parseInt(hhmm.substring(0, 2)); int mm = Integer.parseInt(hhmm.substring(2)); mCalendar.set(Calendar.HOUR, hh); mCalendar.set(Calendar.MINUTE, mm); } setText(getSmallTime());如何修改实时更新秒
时间: 2024-03-12 15:47:14 浏览: 26
要修改实时更新秒,可以在第三个else if语句中加入以下代码:
```
else if (mDemoMode && command.equals(COMMAND_TICK)) {
mCalendar.setTimeInMillis(mCalendar.getTimeInMillis() + 1000);
setText(getSmallTime());
}
```
这段代码会在收到COMMAND_TICK命令时,将mCalendar中的时间增加一秒,并更新时钟的显示。因此,你可以在需要更新秒的时候发送COMMAND_TICK命令给这个方法,即可实现实时更新秒。
相关问题
public class MainActivity extends AppCompatActivity{ private Button login_btn_login; private EditText login_edit_account; private EditText login_edit_pwd; @Override protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); } private void initView() { login_btn_login = (Button) findViewById(R.id.login_btn_login); login_edit_account = (EditText) findViewById(R.id.login_edit_account); login_edit_pwd = (EditText) findViewById(R.id.login_edit_pwd); login_btn_login.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String strUserName = login_edit_account.getText().toString().trim(); String strPassWord = login_edit_pwd.getText().toString().trim(); if (strUserName.equals("123") && strPassWord.equals("123")) { Toast.makeText(MainActivity.this, "登录成功!", Toast.LENGTH_SHORT).show(); Intent intent = new Intent(MainActivity.this, Hmoe.class); startActivity(intent); } else { Toast.makeText(MainActivity.this, "输入错误,请重新输入", Toast.LENGTH_SHORT).show(); } } } ); Button login_btn_register = (Button) findViewById(R.id.login_btn_register); login_btn_register.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(MainActivity.this, "注册成功!", Toast.LENGTH_SHORT).show(); } } ); } }哪个是方法
这段代码中有两个方法:
1. `onCreate()`:这是一个重载的方法,是Activity的生命周期方法之一,在Activity第一次创建时被调用。在这个方法中,我们可以做一些初始化的工作,例如设置布局、初始化控件等等。在这段代码中,我们设置了布局,并调用了initView()方法对控件进行了初始化。
2. `initView()`:这是一个自定义方法,用于初始化控件。在这个方法中,我们通过findViewById()方法找到了布局文件中的控件,并将它们赋值给了对应的变量。同时,我们还为登录按钮和注册按钮设置了点击事件的监听器,在用户点击这两个按钮时执行相应的操作。
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_setting); } @Override public void showData(String data,ActivitySetting activitySetting) { System.out.println("设置页面收到数据了!!!"); findViewById(R.id.data1111); }在页面中这样一段代码,提示我Attempt to invoke virtual method 'android.view.View android.view.Window.findViewById(int)' on a null object reference,如何在接口showData中获取并操作当前页面的控件呢
在接口 `showData()` 中,你无法直接操作当前页面的控件,因为接口是在 `ActivitySetting` 之外的地方实现的。但你可以通过传递 `ActivitySetting` 的实例给接口方法,并在方法中使用该实例来操作控件。
以下是修改后的代码示例:
```java
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_setting);
}
@Override
public void showData(String data, ActivitySetting activitySetting) {
System.out.println("设置页面收到数据了!!!");
activitySetting.findViewById(R.id.data1111);
}
```
在调用 `showData()` 方法时,传递当前 `ActivitySetting` 的实例作为参数。然后,在方法内部使用该实例调用 `findViewById()` 方法来获取并操作控件。
请确保在调用 `showData()` 方法时,传递的 `ActivitySetting` 实例是有效的(非空),否则仍然可能出现空对象引用的错误。