Android Open Source - FaceTag-Android Scores List Fragment






From Project

Back to project page FaceTag-Android.

License

The source code is released under:

GNU General Public License

If you think the Android project FaceTag-Android listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package edu.grinnell.facetag;
/*from  ww  w  .  j  av a2 s . c om*/
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;

import android.content.Context;
import android.graphics.Typeface;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;

import com.actionbarsherlock.app.SherlockFragment;
import com.actionbarsherlock.view.MenuItem;
import com.facetag_android.R;
import com.parse.ParseUser;
/* Display a list of players in the selected game and their coresponding scores */
public class ScoresListFragment extends SherlockFragment {
  final String TAG = "Score Board";
  GameScreenActivity mActivity;
  ListView mListView;
  HashMap<String, Integer> mScoreBoard;
  ArrayList<scorePair> mScoreList = new ArrayList<scorePair>();

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    mActivity = (GameScreenActivity) getSherlockActivity();
    mScoreBoard = mActivity.mGame.getScoreBoard();
    setHasOptionsMenu(true);
  }

  @Override
  public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View v = inflater.inflate(R.layout.fragment_scores_list, container, false);
    mActivity.getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    mListView = (ListView) v.findViewById(R.id.scorelist);

    // Create scorePair objects to link the user's name with their score
    Iterator<ParseUser> userIter = mActivity.mUsers.iterator();
    while (userIter.hasNext()) {
      ParseUser thisPlayer = userIter.next();
      scorePair thisPair = new scorePair(thisPlayer.getString("fullName"),
          mScoreBoard.get(thisPlayer.getObjectId()));
      mScoreList.add(thisPair);
    }
    ArrayAdapter<scorePair> scoreAdapter = new ScoreListAdapter(mActivity,
        R.layout.score_list_adapter, mScoreList);
    mListView.setAdapter(scoreAdapter);

    return v;
  }

  @Override
  public boolean onOptionsItemSelected(MenuItem item) {
    // Handle presses on the action bar items
    switch (item.getItemId()) {
    case android.R.id.home:
      mActivity.getSupportFragmentManager().popBackStack();
      return true;
    default:
      super.onOptionsItemSelected(item);
    }
    return true;
  }

  // Object in order to transfer hashmap into an array
  public class scorePair {
    private String player;
    private int score;

    public scorePair(String player, int score) {
      this.player = player;
      this.score = score;
    }

    public String getPlayer() {
      return player;
    }

    public int getScore() {
      return score;
    }
  }

  public class ScoreListAdapter extends ArrayAdapter<scorePair> {
    private final Context context;
    private final ArrayList<scorePair> scores;
    int layoutResourceId;

    public ScoreListAdapter(Context context, int layoutResourceId, ArrayList<scorePair> scores) {
      super(context, layoutResourceId, scores);
      this.context = context;
      this.scores = scores;
      this.layoutResourceId = layoutResourceId;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
      Typeface tf = Typeface.createFromAsset(getActivity().getAssets(), "fonts/Raleway-Regular.ttf");
      
      LayoutInflater inflater = (LayoutInflater) context
          .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
      View rowView = inflater.inflate(layoutResourceId, parent, false);
      TextView playerText = (TextView) rowView.findViewById(R.id.playername);
      playerText.setTypeface(tf);
      playerText.setText(scores.get(position).getPlayer());

      TextView scoreText = (TextView) rowView.findViewById(R.id.score);
      scoreText.setTypeface(tf);
      scoreText.setText("" + scores.get(position).getScore());

      return rowView;
    }
  }
}




Java Source Code List

edu.grinnell.facetag.GameInfoFragment.java
edu.grinnell.facetag.GameListFragment.java
edu.grinnell.facetag.GameScreenActivity.java
edu.grinnell.facetag.LoginActivity.java
edu.grinnell.facetag.PhotoEvalFragment.java
edu.grinnell.facetag.ScoresListFragment.java
edu.grinnell.facetag.gamecreate.CreateGameActivity.java
edu.grinnell.facetag.gamecreate.GameSettingsFragment.java
edu.grinnell.facetag.gamecreate.InvitePlayersFragment.java
edu.grinnell.facetag.parse.Game.java
edu.grinnell.facetag.parse.PhotoTag.java
edu.grinnell.facetag.parse.PrsApplication.java
edu.grinnell.facetag.parse.User.java
edu.grinnell.facetag.takepicture.CameraActivity.java
edu.grinnell.facetag.takepicture.CameraPreview.java
edu.grinnell.facetag.takepicture.SubmitPhotoActivity.java
edu.grinnell.facetag.utils.ImageLoaderUtility.java
edu.grinnell.facetag.utils.RoundedImageView.java
edu.grinnell.facetag.utils.actionBarFont.java