PanelSelectPlayerForRecord.java :  » App » picturecounter » com » appspot » thinkhea » Android Open Source

Android Open Source » App » picturecounter 
picturecounter » com » appspot » thinkhea » PanelSelectPlayerForRecord.java
package com.appspot.thinkhea;

import java.util.Vector;

import android.app.Activity;
import android.content.Intent;
import android.database.SQLException;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.GridView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;
import com.appspot.thinkhea.model.MyDBHelper;
import com.appspot.thinkhea.model.Picture;
import com.appspot.thinkhea.model.Player;
import com.appspot.thinkhea.model.Record;
import com.appspot.thinkhea.view.SeleableGridRecordAdapter;

public class PanelSelectPlayerForRecord extends Activity {
  private Vector<Picture> c;
  private MyDBHelper db;
  private GridView v;
  private String tag = "PanelListSelectPicture";

  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    getWindow().setBackgroundDrawableResource(R.drawable.bg);
    setTitle(R.string.desc_record_list_select);
    setContentView(R.layout.panel_add_record);

    // handle list event and model
    v = (GridView) findViewById(R.id.RecordGridView);
    v.setFocusable(true);
    v.setClickable(true);
    v.setOnItemClickListener(new OnItemClickListener() {
      @Override
      public void onItemClick(AdapterView<?> a, View v, int position,
          long id) {
        ((SeleableGridRecordAdapter) a.getAdapter())
            .setSelected(position);
      }
    });
    loadPictures();

    // Add Button Listener
    Button b = (Button) findViewById(R.id.BtnGoBack);
    b.setOnClickListener(new View.OnClickListener() {
      public void onClick(View v) {
        Intent myIntent = new Intent(PanelSelectPlayerForRecord.this,
            PanelListRecord.class);
        PanelSelectPlayerForRecord.this.startActivity(myIntent);

      }
    });

    // Add Button Listener
    Button ba = (Button) findViewById(R.id.BtnAddRecordNext);
    ba.setOnClickListener(new View.OnClickListener() {
      public void onClick(View v) {
        GridView lv = (GridView) findViewById(R.id.RecordGridView);
        Vector<Picture> pics = ((SeleableGridRecordAdapter) lv
            .getAdapter()).getSelected();
        if (pics.size() <= 1 || pics.size() >= 11) {
          Toast.makeText(PanelSelectPlayerForRecord.this,
              "Please select 2 ~ 10 players for a game.",
              Toast.LENGTH_SHORT).show();
          return;
        }
        // save selected Game into DB
        long result = savePictures(pics);
        if (result == -1) {
          Toast.makeText(PanelSelectPlayerForRecord.this,
              tag + " Error in adding record.",
              Toast.LENGTH_SHORT).show();
          return;
        }
        Toast.makeText(PanelSelectPlayerForRecord.this, "Record saved.",
            Toast.LENGTH_SHORT).show();
         Bundle bundle = new Bundle();
         bundle.putString("RECORD_ID", result + "");
         Intent myIntent = new Intent(PanelSelectPlayerForRecord.this,
             PanelGridPlayerRecord.class);
         myIntent.putExtras(bundle);
         PanelSelectPlayerForRecord.this.startActivity(myIntent);
      }
    });

  }

  protected long savePictures(Vector<Picture> pics) {
    if (db == null) {
      db = new MyDBHelper(this);
    }
    Record r = new Record();
    Vector<Player> p = r.getPlayerList();
    for (int b = 0; b < pics.size(); b++) {
      Player c = new Player();
      int pid = pics.get(b).getId();
      c.setId(pid);
      p.add(c);
    }
    db.open();
    long result = -1;
    try {
      result = db.addRecord(r);
    } catch (SQLException e) {
      Log.e(tag, "SQLException - addRecord");
    }
    db.close();
    return result;
  }

  protected void loadPictures() {
    // load data from DB
    if (c != null) {
      c.clear();
    }
    if (db == null) {
      db = new MyDBHelper(this);
    }
    db.open();
    c = db.getAllPicutres();
    db.close();

    SeleableGridRecordAdapter iAdapter = new SeleableGridRecordAdapter(
        this, c);
    // handle list event and model
    v.setAdapter(iAdapter);
  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.