有没有办法从代码手动调用侦听器?
更多背景信息:我使用Spinner和DatePicker。使用Spinner,您可以选择留在家中的理由(也许是您的病,也许您有假期),使用DatePicker,您可以选择日期,您将无法使用多长时间。通过这两条信息,我为TextView构建了一个字符串,并以紧凑的方式显示相同的数据。字符串的构建过程由一些侦听器设置,这些侦听器识别两个控件之一的更改并构建和设置新字符串。 如果我启动程序并从服务器读取一些数据,则不会构建字符串(显然,因为没有任何更改,也不会调用任何侦听器)。
解决方法是在我自己的onLoaddata()
方法中构建字符串。但我认为调用一个侦听器为我构建字符串会更顺畅。如果我只做一些假的.updateDate
,我也可以“召唤”一个听众,但我不认为创建无用的电话是个好主意...
也许有人对我有好的暗示?
答案 0 :(得分:0)
使用以下模式:
public class YourActivity extends Activity implements OnClickListener {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
// Some initialization here
findViewById(R.id.some_button).setOnClickListener(this);
...
// Here you want to update your view
updateTextView();
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.some_button:
// Here you also want to update your view
updateTextView();
break;
...
}
}
private void updateTextView() {
// Here you update your view
...
}
}