【问题标题】:How to change value of a view dynamically based on server response?如何根据服务器响应动态更改视图的值?
【发布时间】:2014-09-21 17:36:28
【问题描述】:

我使用 SignalR 服务器进行后端通信。它的请求和响应基于处理程序。我使用 ArrayAdapter 在 Grid 中设置动态子视图。如何动态更新 ArrayAdapter 中视图的值。

SignalR 请求:

signalRproxy.invoke(Name of Server Method to send request, parameter).done(new Action<Void>() 
{
    @Override
    public void run(Void obj) throws Exception 
    {

    }
});
}

SignalR 响应:

signalRproxy.on(Name of Client Method to send response, new SubscriptionHandler1<String>()
{
    @Override
    public void run(String responseString) 
    {

    }

}, String.class);

如果我尝试在服务器响应的方法中调用任何用户定义的方法。它会导致崩溃。任何人都可以帮我解决这个问题。

【问题讨论】:

  • 你需要在更新ui的同时编写syncronize方法,使用arraylist你可以动态添加和删除数据

标签: java android notifications signalr


【解决方案1】:

更新您的ArrayList&lt;Item&gt; mArrayList;(添加、删除、更新、清除项目...),然后在您的适配器上调用mAdapter.notifyDataSetChanged();

【讨论】:

    【解决方案2】:

    谢谢大家。我找到了一种解决方案,可以使用处理程序类从 SignalR 服务响应中动态获取数据。

    Handler handle = new Handler();
        static String signalRres;
    
        signalRproxy.on(Name of Client Method to send response, new SubscriptionHandler1<String>() {
            @Override
            public void run(String responseString) {
                signalRres = responseString;
                handle.post(run);
            }
    
        }, String.class);
    
    
        Runnable run = new Runnable() {
            @Override
            public void run() {
                Log.e("Running", "Runnable Data" + signalRres);
            }
        };
    

    【讨论】:

      猜你喜欢
      • 2017-06-03
      • 2017-09-16
      • 1970-01-01
      • 2014-12-10
      • 1970-01-01
      • 2020-12-10
      • 1970-01-01
      • 1970-01-01
      • 2019-12-26
      相关资源
      最近更新 更多