小项目demon3

MoreActivity:

public class MoreActivity extends BaseActivity {

 Button btn_browseOrder;
 Button btn_change_table;
 Button btn_merge_table;
 Button btn_option;
  private Gallery pictureGallery = null ;
  private int[] picture = {
    R.drawable.gallery1,  R.drawable.gallery2,    R.drawable.gallery3,    R.drawable.gallery4,    R.drawable.gallery,    R.drawable.gallery6,  };
  private int index = 0 ;   
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState); }

  @Override
 protected void initViews() {
  this.setContentView(R.layout.more);  
  pictureGallery = (Gallery)findViewById(R.id.gallery_more);
  ImageAdapter adapter = new ImageAdapter(this);
  this.pictureGallery.setAdapter(adapter);
  Timer timer = new Timer();
  timer.schedule(task, 2000, 2000); 
  btn_browseOrder = (Button) this.findViewById(R.id.btn_browseOrder);
  btn_change_table = (Button) this.findViewById(R.id.btn_change_table);
  btn_merge_table = (Button) this.findViewById(R.id.btn_merge_table);
  btn_option = (Button) this.findViewById(R.id.btn_option);
  //设置监听
  BtnListener listener = new BtnListener();  btn_browseOrder.setOnClickListene(listener);  btn_change_table.setOnClickListener(listener);  btn_merge_table.setOnClickListener(listener);  btn_option.setOnClickListener(listener);
 }

 class BtnListener implements OnClickListener{
  @Override
  public void onClick(View v) {
   Intent i_startAct = null;
   switch(v.getId()){
   case R.id.btn_browseOrder://查单
    i_startAct = new Intent(MoreActivity.this, OrderListActivity.class);
    i_startAct.putExtra("mode", MODE_BROWSE_ORDER);
    break;
   case R.id.btn_change_table://换台
    i_startAct = new Intent(MoreActivity.this, ChangeTableActivity.class);
    i_startAct.putExtra("mode", MODE_CHANGE_TABLE);
    break;
   case R.id.btn_merge_table://并台
    i_startAct = new Intent(MoreActivity.this, ChangeTableActivity.class);
    i_startAct.putExtra("mode", MODE_MERGE_TABLE);
    break;
   case R.id.btn_option://更新数据选项
    i_startAct = new Intent(MoreActivity.this, OptionMenuActivity.class);
    i_startAct.putExtra("mode", MODE_OPTION);
    break;   }
   i_startAct.putExtra("username", getIntent().getStringExtra("username"));
   startActivity(i_startAct);  } }
 private TimerTask task = new TimerTask() {
  @Override
  public void run() {
   Message message = new Message();
   message.what = 2 ;
   index = pictureGallery.getSelectedItemPosition();
   index ++ ;
   handler.sendMessage(message); } };
 private Handler handler = new Handler(){

  @Override
  public void handleMessage(Message msg) {
   super.handleMessage(msg);
   switch (msg.what) {
   case 2:
    pictureGallery.setSelection(index);
    break;

 default:
    break;   }  } };

 class ImageAdapter extends BaseAdapter{
  private int GalleryItemBackground;
     private Context context ;
    public ImageAdapter(Context context ){
     this.context = context ;
     TypedArray typedArray = context.obtainStyledAttributes(R.styleable.Gallery);
     GalleryItemBackground = typedArray.getResourceId(R.styleable.Gallery_android_galleryItemBackground, 0);
    } 
 public int getCount() {
   return Integer.MAX_VALUE;
  }
  public Object getItem(int position) {
   return position;
  }

  public long getItemId(int position) {
   return position;
  }

  public View getView(int position, View convertView, ViewGroup parent) {
   ImageView imageView = new ImageView(context);
   imageView.setImageResource(picture[position % picture.length]);
   imageView.setScaleType(ImageView.ScaleType.FIT_XY);
   imageView.setLayoutParams(new Gallery.LayoutParams(Gallery.LayoutParams.FILL_PARENT, Gallery.LayoutParams.FILL_PARENT));
   imageView.setBackgroundResource(GalleryItemBackground);
   return imageView;  }   }
 @Override
 protected void getExtras() {}}

 more.xml:

ChangeTableActivity:

public class ChangeTableActivity extends BaseActivity {TextView tv_tableA, tv_tableB;
 Spinner spnr_tableNumA, spnr_tableNumB;
 Button btn_tableChange;
 Button btn_back;
 int mode = 0;//标识当前模式
 String username; 
 String[] availableTableList;
  Handler my_handler = new Handler(){
  @Override
  public void handleMessage(Message msg) {
   //关闭进度条
   if(p_dialog.isShowing())
    p_dialog.dismiss();
   switch(msg.what){
   case WHAT_LOADING_COMPLETED: //为桌号列表插入内容
    setTableList();
    break;
   case WHAT_SUBMIT_COMPLETE: //提交完成
    Log.i("aaa", msg.getData().getString("msg")+" bbb");
    if(msg.getData().getInt("code") == 200){
     Toast.makeText(getApplicationContext(),
         getString(R.string.submit_success),
         Toast.LENGTH_SHORT).show();
     //更新数据库中的订单号
     OrderLogic.updateOrderId(getApplicationContext(),
           (String)spnr_tableNumA.getSelectedItem(),
           (String)spnr_tableNumB.getSelectedItem(),
           msg.getData().getString("new_id"),
           mode);
    }else{  
     Toast.makeText(getApplicationContext(),
       msg.getData().getString("msg"),
       Toast.LENGTH_SHORT).show();    }
    break;
   case WHAT_SUBMIT_FAILED://提交失败
    Toast.makeText(getApplicationContext(),
        getString(R.string.submit_failed),
        Toast.LENGTH_SHORT).show();
    break; }  } };
 TableLogic tableLogic = new TableLogic(); 
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState); 
  //进度条
  p_dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
  p_dialog.setMessage(getString(R.string.is_loading));
  p_dialog.show();//显示进度条
  //读取桌号线程
  new Thread(){
   @Override
   public void run() {
    availableTableList = tableLogic.getFreeTable(ChangeTableActivity.this);
    //为handler发送空消息初始化UI
    my_handler.sendEmptyMessage(WHAT_LOADING_COMPLETED);   }  }.start();}

 /**
  * 控件初始化
  */
 @Override
 protected void initViews() {
  this.setContentView(R.layout.table_change);
    tv_tableA = (TextView) this.findViewById(R.id.tv_tableA);
  tv_tableB = (TextView) this.findViewById(R.id.tv_tableB);
  spnr_tableNumA = (Spinner) this.findViewById(R.id.spnr_tableNumA);
  spnr_tableNumB = (Spinner) this.findViewById(R.id.spnr_tableNumB);
  btn_tableChange = (Button) this.findViewById(R.id.btn_tableChange);
  btn_back = (Button) this.findViewById(R.id.btn_back4table);
//  根据换桌、并桌设置TextView内容和Spinner标题
  switch(mode){
  case MODE_CHANGE_TABLE://换台
   tv_tableA.setText(getString(R.string.cur_table_num));
   tv_tableB.setText(getString(R.string.new_table_num));
   spnr_tableNumA.setPrompt(getString(R.string.cur_table_num));
   spnr_tableNumB.setPrompt(getString(R.string.new_table_num));
   break;
  case MODE_MERGE_TABLE://并台
   tv_tableA.setText(getString(R.string.table_num_a));
   tv_tableB.setText(getString(R.string.table_num_b));
   spnr_tableNumA.setPrompt(getString(R.string.table_num_a));
   spnr_tableNumB.setPrompt(getString(R.string.table_num_b));
   break;
  }
  //设置提交按钮监听
  btn_tableChange.setOnClickListener(new OnClickListener(){
   @Override
   public void onClick(View arg0) {
    if(isSameTable()){
     Toast.makeText(ChangeTableActivity.this,
        getString(R.string.same_table_alert), Toast.LENGTH_SHORT).show();
    }else{
     //显示确认提交对话框
     showConfirmDialog();}  } });
  //设置返回按钮监听
  btn_back.setOnClickListener(new OnClickListener() {
   @Override
   public void onClick(View v) {
    ChangeTableActivity.this.finish();  } });}

 /**
  * 为桌号列表插入内容
  */
 private void setTableList() {
  //设置spinner的内容
  ArrayAdapter<String> adapter_tableNum =
    new ArrayAdapter<String>(
      this,
    android.R.layout.simple_spinner_item,
    availableTableList);
  adapter_tableNum.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  spnr_tableNumA.setAdapter(adapter_tableNum);
  spnr_tableNumB.setAdapter(adapter_tableNum);
 }

 /**
  * 检查两桌号是否相同
  * @return
  */
 private boolean isSameTable() {
  if(spnr_tableNumA.getSelectedItem().equals(spnr_tableNumB.getSelectedItem()))
   return true;
  return false;}

 /**
  * 显示确认对话框
  */
 private void showConfirmDialog() {
  //创建dialog提示确认
  AlertDialog.Builder dlg_builder = new AlertDialog.Builder(ChangeTableActivity.this);
  //标题
  dlg_builder.setTitle(getString(R.string.confirm));
  //构建提示语句
  StringBuilder dlgMessageBuilder = new StringBuilder();
  switch(mode){
  case MODE_CHANGE_TABLE://换桌
   dlgMessageBuilder.append("确定将");
   dlgMessageBuilder.append((String)spnr_tableNumA.getSelectedItem());
   dlgMessageBuilder.append("桌换到");
   dlgMessageBuilder.append((String)spnr_tableNumB.getSelectedItem());
   dlgMessageBuilder.append("桌吗?");
   break;
  case MODE_MERGE_TABLE://并桌
   dlgMessageBuilder.append("确定将");
   dlgMessageBuilder.append((String)spnr_tableNumA.getSelectedItem());
   dlgMessageBuilder.append("桌合并到");
   dlgMessageBuilder.append((String)spnr_tableNumB.getSelectedItem());
   dlgMessageBuilder.append("桌吗?");
   break;
  }
  dlg_builder.setMessage(dlgMessageBuilder.toString());
  dlgMessageBuilder = null;//StringBuilder置空
  //确认按钮
  dlg_builder.setPositiveButton(getString(R.string.ok), new DialogInterface.OnClickListener(){
   @Override
   public void onClick(DialogInterface dialog, int which) {
    new Thread(){
     @Override
     public void run() {
      HashMap<String, Object> result = null;
      //提交数据,获取返回值
      result = tableLogic.changeTable(getApplicationContext(),
            (String)spnr_tableNumA.getSelectedItem(),  (String)spnr_tableNumB.getSelectedItem(),  username, mode);
      if(result!=null && result.size()>=2){
       Message msg = my_handler.obtainMessage();
       Bundle data = new Bundle();
       data.putInt("code", Integer.valueOf((String)result.get("rt")));
       data.putString("msg", (String)result.get("rtmsg"));
       data.putString("new_id", (String)result.get("new_id"));
       msg.setData(data);
       msg.what=WHAT_SUBMIT_COMPLETE;
       my_handler.sendMessage(msg);
      }else{
       //提交失败,给handler发送消息
       my_handler.sendEmptyMessage(WHAT_SUBMIT_FAILED);
      }   } }.start();  } });
  //取消按钮
  dlg_builder.setNegativeButton(getString(R.string.cancel), null);
  dlg_builder.show();
 }@Override
 protected void getExtras() {
  //获取当前模式标识和用户名Username
  mode = getIntent().getIntExtra("mode", MODE_CHANGE_TABLE);
  username = getIntent().getStringExtra("username");
 }}

转载于:https://my.oschina.net/u/1994482/blog/412310

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值