从另一个类访问TextView的Android注释问题

时间:2016-11-09 14:14:08

标签: android annotations

我最近开始使用android注释,我试图在类(MyService)中将文本设置为各种TextView。

不幸的是,当我尝试设置文本时,应用程序因nullpointerexception而崩溃。

我已经查看了相同问题的注释(documentation)和在stackoverflow上搜索,但我无法找到正确的方法。

如果有人能以正确的方式帮助我做到这一点,我将不胜感激。

当我试图学习注释时,请温柔地使用downvotes。

TextViews通过( @ViewById )开始的课程( DownloadsDialog ):

@EFragment(R.layout.downloads_dialog)
public class DownloadsDialog extends BaseDialog implements LoaderManager.LoaderCallbacks<BaseResponse> {
..
@ViewById(R.id.statusTxt)
    TextView mStatusTxt;

@ViewById(R.id.sizeTxt)
    TextView mSizeTxt;

@ViewById(R.id.progress1)
    ProgressBar mProgress;
..
}

这是我正在尝试设置文本到这些TextViews的类( MyService ):

public class MyService extends IntentService {
..
public MyService() {
        super("MyService");
    }
..

class MyDownloadDownloadStatusListenerV1 implements DownloadStatusListenerV1 {

        @Override
        public void onDownloadComplete(DownloadRequest request) {
            final int id = request.getDownloadId();
            if (id == downloadId1) {
                // How to access TextView in DownloadsDialog?                    
            mStatusTxt.setText("Status: completed");                     

            Log.e("TAG", "download completed");
            }
        }
..
}

1 个答案:

答案 0 :(得分:0)

Intent服务如何拥有视图或布局文件?

@EFragment(R.layout.downloads_dialog)

这样你就知道这是一个视图文件,其中我提到了以下所有小部件,以便从那里获取库,然后将id分配给你的java对象。

@EBean

但是在Intent服务的情况下,没有布局文件,所以很明显它会给出空指针。