Android:从java代码手动调用侦听器

时间:2012-03-28 05:38:47

标签: android call listener

有没有办法从代码手动调用侦听器?

更多背景信息:我使用Spinner和DatePicker。使用Spinner,您可以选择留在家中的理由(也许是您的病,也许您有假期),使用DatePicker,您可以选择日期,您将无法使用多长时间。通过这两条信息,我为TextView构建了一个字符串,并以紧凑的方式显示相同的数据。字符串的构建过程由一些侦听器设置,这些侦听器识别两个控件之一的更改并构建和设置新字符串。 如果我启动程序并从服务器读取一些数据,则不会构建字符串(显然,因为没有任何更改,也不会调用任何侦听器)。

解决方法是在我自己的onLoaddata()方法中构建字符串。但我认为调用一个侦听器为我构建字符串会更顺畅。如果我只做一些假的.updateDate,我也可以“召唤”一个听众,但我不认为创建无用的电话是个好主意...

也许有人对我有好的暗示?

1 个答案:

答案 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
        ...
    }
}