从服务更新布局的Textview

时间:2013-04-22 23:31:26

标签: android service textview inflate

当服务检测到错过了某个呼叫时,我想更新布局中的Textview, 我在我的服务中使用onCreat方法中的代码:

    public void onCreate() {
    super.onCreate();

    final LayoutInflater mcInflator = (LayoutInflater) ctext.getSystemService(Context.LAYOUT_INFLATER_SERVICE );

    bla bla bla bla bla
    ...

if (call.toString().contains("Missed")){

                    View mcLayout= mcInflator.inflate(R.layout.m_call, null );
                    TextView mc = (TextView) mcLayout.findViewById(R.id.mcText);
                    mc.setText("Missed Call");
                }

                if (call.toString().contains("Outgoing")){

  bla bla bla bla bla ....

但是当我查看我的布局时,Textview没有改变?有什么建议吗?

1 个答案:

答案 0 :(得分:0)

哦,我的......好的,我们走了:

  • 您不希望在服务中执行任何UI内容。这是非常糟糕的做法。
  • 您正在创建和修改视图的新实例,而不是屏幕上显示的实例。
  • 您可能想要做的是在活动中绑定正在运行的服务。有关示例,请参阅here