通过服务设置textView

时间:2015-08-30 08:10:54

标签: android service textview

我在不同的类中有一个Intent服务,它检查数据库是否有新的通知。我正在访问MainActivity中的该服务中的TextView,但它一直给我错误。我知道我必须将textView.setText()行放在runOnUiThread()中,但我不知道如何在服务中为不同的活动执行此操作。任何人都可以向我展示这个吗?这是我的服务代码

public class notificationIntentService extends IntentService {

public String c;
List<ParseObject> ob1;

public notificationIntentService(){
    super("notificationIntentService");

}

@Override
protected void onHandleIntent(Intent intent)
{
    MainActivity.skip=0;

    // new notifyy().execute();
    MainActivity.counter=0;



    ParseUser l = ParseUser.getCurrentUser();
    String u = l.get("Name").toString();


    String a ="1";



    ParseQuery<ParseObject> q = new ParseQuery<ParseObject>("RatingsAndNames");
    q.whereEqualTo("value",a);
    q.whereEqualTo("CreatedFor",u);
    try {
        ob1=q.find();
        for(ParseObject c1:ob1)
        {

            MainActivity.counter++;
        }

    } catch (ParseException e) {
        e.printStackTrace();
    }


     c = String.valueOf(MainActivity.counter);

//        MainActivity.notify.setText(c);
// I want to put the above  line in the UiThread


}
}

1 个答案:

答案 0 :(得分:0)

您可以使用bindService绑定到活动的IntentServiceThis project是您想要实现的目标。唯一不同的是,他们使用Service代替IntentService(非常感谢@commonsware)。