在后台填充服务中的ListView

时间:2014-09-16 17:53:23

标签: android listview android-listview xamarin xamarin.android

我有一个包含listview,button和textview的应用程序。通过单击按钮,我使用ArrayAdapter将新项添加到ListView。现在实现了一个从服务器接收信息的服务。如何从我的服务更新Listview,这是当我的服务器向我发送答案时触发的事件:

    static void HandleOnRespose (object sender, ServerInEventArgs e)
    {
        //add in listview a reponse from server (e.CodeRespose)
    }

1 个答案:

答案 0 :(得分:1)

您有多种方法可以实现调用活动的服务(3说实话)您可以阅读更多相关信息here
@zgc7009's建议是有效的,并且在处理可以放在Bundle中的简单数据类型时可能已经足够好了,但是在处理更复杂的数据时可能会有点混乱。例如。
我认为使用回调是最合适的方法(但它可能是一个主观的东西)。

实现从具有回调的服务调用活动

  1. 您必须在服务上注册回调。根据您的实现,您可以从活动中执行以下操作:

    yourService.someActionCallback = (codeResponse)=> 
     {
        //do whatever you want on your listview using the codeResponse
        lv.NotifyDataSetChanged();
     }
    
  2. 从服务中调用您的回调:

    static void HandleOnRespose (object sender, ServerInEventArgs e)
    {
       callback(e.CodeRespose);
    }
    
  3. 就是这样。

    P.S。你仍然必须确保回调不是null并且总是注册回调(并且在活动的销毁时“取消注册”它,但这只是基础。