public void serach(final String serachinput) { if (serachinput.equals("") || serachinput == null) { load(); } else { new Thread(new Runnable() { @Override public void run() { try { String url = "/computer/serach?componname=" + serachinput; Call call = okhttputil.request_get(url); Response execute = call.execute(); String string = execute.body().string(); JSONObject jsonObject = new JSONObject(string); data = jsonObject.getString("data"); handler.post(udpUIRunnable); } catch (Exception e) { e.printStackTrace(); } } }).start(); }
时间: 2024-02-10 12:21:33 浏览: 50
这段代码看起来像是一个搜索功能,输入一个搜索关键词,然后会向服务器发送请求,获取搜索结果。如果搜索关键词为空或者为 null,就会调用 load() 方法,否则会新建一个线程来发送请求,并将搜索结果存储在 data 变量中,最后通过 handler.post() 方法将搜索结果更新到 UI 界面上去。
相关问题
serach() { if (this.inputusername !== ''||this.inputcomponname !== ''||this.inputusertel !== '') { this.request.get("/order/serach", {params: { username: this.inputusername, componname: this.inputcomponname, tel: this.inputusertel }}).then(res => { if (res.code === "500") { this.$message.error('没有此记录!'); } this.tableData = res.data; let i = 0; while (i < this.tableData.length) { if (this.tableData[i].state === 0) { this.tableData[i].stateview = "已取消"; } if (this.tableData[i].state === 1) { this.tableData[i].stateview = "未付款"; } if (this.tableData[i].state === 2) { this.tableData[i].stateview = "待发货"; } if (this.tableData[i].state === 3) { this.tableData[i].stateview = "已发货"; } i++; }
这段代码是一个名为 `serach` 的方法,用于执行搜索操作。在方法中,首先判断用户是否输入了搜索条件,如果没有则不进行搜索操作。接下来,使用 `axios` 发送一个 GET 请求到 `/order/serach` 接口,请求参数包括用户名、商品名和电话号码。请求成功后,根据返回的响应结果判断是否存在记录,如果不存在则弹出提示信息。如果存在记录,则将返回的数据存储到 `tableData` 变量中,并循环遍历 `tableData` 中的每一条记录,根据订单状态设置 `stateview` 属性的值。最终,搜索结果会显示在页面的表格中。
public class HomeFragment extends Fragment { private Context mContext; private HomeViewModel homeViewModel; private RollPagerView mRollPagerView; String data; private EditText serachinput; private Button serach; private ListView componlist; private Handler handler = null; public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { homeViewModel = ViewModelProviders.of(this).get(HomeViewModel.class); final View root = inflater.inflate(R.layout.fragment_home, container, false); mContext = getContext(); handler = new Handler(); serachinput = root.findViewById(R.id.componserachinput); serach = root.findViewById(R.id.serachcompon); componlist = root.findViewById(R.id.componlist); mRollPagerView = root.findViewById(R.id.roll_view_pager); //设置播放时间间隔 mRollPagerView.setPlayDelay(3000); //设置透明度 mRollPagerView.setAnimationDurtion(500); //设置适配器 mRollPagerView.setAdapter(new TestNormalAdapter()); //设置圆点指示器颜色 mRollPagerView.setHintView(new ColorPointHintView(getContext(), Color.YELLOW, Color.WHITE)); serach.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { serach(serachinput.getText().toString()); } }); load(); return root;
这段代码是一个 Android 应用程序的 HomeFragment 类,实现了 onCreateView() 方法,用于创建该 fragment 的视图。在 onCreateView() 方法中,首先通过 ViewModelProviders 获取 HomeViewModel 实例,然后使用 inflater 对布局文件 R.layout.fragment_home 进行解析,并将解析的视图返回。在视图中,分别获取了 componserachinput、serachcompon 和 componlist 三个组件的实例,并将它们分别赋值给 serachinput、serach 和 componlist 变量。此外,还获取了 RollPagerView 组件的实例,并将它赋值给 mRollPagerView 变量。在 mRollPagerView 中,设置了播放时间间隔、透明度、适配器和圆点指示器颜色。最后,为 serach 组件设置了一个点击事件监听器,调用 serach() 方法进行搜索,并调用 load() 方法进行数据加载。
阅读全文