如何根据服务器响应动态更改视图的值?

时间:2014-07-30 07:08:48

标签: java android notifications signalr

使用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);

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

2 个答案:

答案 0 :(得分:1)

更新您的ArrayList<Item> mArrayList;(添加,删除,更新,清除项目...),然后拨打适配器上的mAdapter.notifyDataSetChanged();

答案 1 :(得分:0)

非常感谢。我找到了一个解决方案,使用处理程序类从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);
        }
    };