成功请求android后如何更改视图?

成功请求android后如何更改视图?,android,android-fragments,callback,request,android-view,Android,Android Fragments,Callback,Request,Android View,我有一段代码: public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { tableView = inflater.inflate(R.layout.fragment_table, container, false); View layout = inflater.inflate(R.layout.fragment_1,

我有一段代码:

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

        tableView = inflater.inflate(R.layout.fragment_table, container, false);
        View layout = inflater.inflate(R.layout.fragment_1, container, false);


        if (roomArray == null || roomArray.isEmpty()) {
            roomArray = getTablesList(new VolleyCallback() {

                @Override
                public void onSuccess(ArrayList<RoomsClass> result) {

                    Toast.makeText(getActivity(), "onSuccess", Toast.LENGTH_LONG).show();
                }
            });
        } else {
            ArrayList<View> tableList = new ArrayList<>();

            ArrayList<Tables> tables;
            Toast.makeText(getActivity(), "IsNotNull", Toast.LENGTH_LONG).show();

            tables = roomArray.get(0).getTables();
            GridLayout gridLayout = (GridLayout) layout.findViewById(R.id.grid_layout);
            for (int i = 0; i < 1; i++) {
                tableView = inflater.inflate(R.layout.fragment_table, container, false);
                TextView textView = (TextView) tableView.findViewById(R.id.table_number);
                textView.setText(tables.get(i).getTableNumber());
                GridLayout.Spec row = GridLayout.spec(i / 5);
                GridLayout.Spec col = GridLayout.spec(i);
                GridLayout.LayoutParams params = new GridLayout.LayoutParams(row, col);
                gridLayout.addView(tableList.get(i), i, params);
            }
        }
        return layout;
    }
创建视图时的公共视图(布局、充气机、视图组容器、捆绑包保存状态){ tableView=充气机。充气(R.layout.fragment_表,容器,假); 视图布局=充气机。充气(R.layout.fragment_1,容器,假); if(roomArray==null | | roomArray.isEmpty()){ roomArray=getTablesList(新的截击回调(){ @凌驾 成功时公共无效(ArrayList结果){ Toast.makeText(getActivity(),“onSuccess”,Toast.LENGTH_LONG.show(); } }); }否则{ ArrayList tableList=新的ArrayList(); 数组列表; Toast.makeText(getActivity(),“IsNotNull”,Toast.LENGTH_LONG.show(); tables=roomArray.get(0.getTables(); GridLayout=(GridLayout)layout.findviewbyd(R.id.grid\u layout); 对于(int i=0;i<1;i++){ tableView=充气机。充气(R.layout.fragment_表,容器,假); TextView TextView=(TextView)tableView.findViewById(R.id.table_编号); setText(tables.get(i.getTableNumber()); GridLayout.Spec行=GridLayout.Spec(i/5); GridLayout.Spec col=GridLayout.Spec(i); GridLayout.LayoutParams params=新的GridLayout.LayoutParams(行、列); addView(tableList.get(i),i,params); } } 返回布局; }
所以我已经成功了,但是我不能在片段中添加视图。我需要在onSuccess之后调用所有方法,但是它是内部类,所以我无法在那里处理任何事情。那么,正确的方法是什么呢?

是否在createView中膨胀两个片段

tableView = inflater.inflate(R.layout.fragment_table, container, false);
View layout = inflater.inflate(R.layout.fragment_1, container, false);

如果您尝试使用handler来解决这个问题,那么使用handler可以避免在内部类中执行某些操作

Handler myHandler = new Handler() {  
          public void handleMessage(Message msg) {   
               switch (msg.what) {   
                    case a:   
                        //do somthing 
                        break;   
               }   
               super.handleMessage(msg);   
          }   
     }; 

是的,我知道,这是错误的吗?)我只使用1个充气机进行2次查看。也许我应该使用layoutinflater或其他什么,但这还不是重点。处理程序、适配器或其他什么?我不知道,如果有帮助的话,告诉我更多。