我正在追踪订单屏幕上。在用户下订单后,Admin将订单状态更改为接受从待定。我想在跟踪订单屏幕上实时显示订单状态。每当管理员在后端进行更改时,都应该更改状态。每30秒更新一次订单状态
这是点击追踪按钮的初始屏幕。 http://imgur.com/a/5NCFH
当用户选择下拉菜单时,将显示基于用户的所有订单。 http://imgur.com/a/PiKf1
以下是选择特定订单后的订单屏幕 http://imgur.com/a/AdxLO。根据该图片,一旦在后端将其更改为发货,我实时想要点酒吧订购发货。
这是我的跟踪订单活动。
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
try
{
getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
setHasOptionsMenu(true);
}
catch(Exception ex) {
ex.getMessage();
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
final View view = inflater.inflate(R.layout.fragment_track_order, container, false);
try
{
mView = view;
getOrders(); // It gives me all the orders on clicking spinner
}
catch(Exception ex)
{
GSLogger.e(ex);
showToast(getString(R.string.error_loading_fragments));
}
return view;
}
private void init_AppContents(final ArrayList<TrackOrderModel> ordersList)
{
try
{
final ArrayList<String> order_arr = new ArrayList<>();
for(TrackOrderModel trackOrderModel : ordersList)
{
order_arr.add(trackOrderModel.getRestaurant_name()+" "+trackOrderModel.getData_time());
}
final SpinnerAdapter area_arrayAdapter = new SpinnerAdapter(getActivity(),
android.R.layout.simple_spinner_dropdown_item, order_arr);
order_spinner.setAdapter(area_arrayAdapter);
order_spinner.setSelection(0);
order_spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int position, long arg3)
{
order_id = ordersList.get(position).getOrder_id();
tran_id = ordersList.get(position).getOrder_id();
if(!order_id.equals("0"))
getOrderStatus(order_id); // Based on the order id, it displays particular order status. Here I want it to change every 30 seconds.
else
{
order_received_circle.setImageResource(R.mipmap.circle_grey);
order_ready_progress.setBackgroundColor(ContextCompat.getColor(getActivity(), R.color.light_grey_2));
order_ready_circle.setImageResource(R.mipmap.circle_grey);
order_deliver_progress.setBackgroundColor(ContextCompat.getColor(getActivity(), R.color.light_grey_2));
order_deliver_circle.setImageResource(R.mipmap.circle_grey);
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
}
catch(Exception ex)
{
GSLogger.e(ex);
showToast(getString(R.string.error_init_content));
}
}
帮助将不胜感激。
为什么当管理员将订单状态更改为从待处理接受时,您在收到通知时使用本地广播刷新您的列表时,不会要求网络端发出无声通知。 –
你目前使用什么解决方案? –
@UmarHussain我是android新手。如果你可以给我任何解决方案,那很好。我正在考虑计时器任务。我不知道在哪里放 – Jacky