Android Open Source - ExpertAndroid Word Meanings List Activity






From Project

Back to project page ExpertAndroid.

License

The source code is released under:

MIT License

If you think the Android project ExpertAndroid 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 com.androidbook.parse;
/* w w w  .j av a2 s .co  m*/
import java.util.ArrayList;
import java.util.List;

import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ListView;
import android.widget.TextView;

import com.parse.FindCallback;
import com.parse.ParseException;
import com.parse.ParseObject;
import com.parse.ParseQuery;

/*
 * Lists a set of meanings for words.
 * The intent will carry the word for which we seek meanings.
 */
public class WordMeaningsListActivity 
extends BaseListActivity
{
  Word parceledWord;
    public WordMeaningsListActivity() {
    super("WordMeaningsListActivity");
  }
  @Override     
    protected void onCreate(Bundle savedInstanceState)
    {         
      super.onCreate(savedInstanceState);
      setContentView(R.layout.wml_layout);
      parceledWord = this.getParceledWordFromIntent();
      
      //See if this works
      ListView lv = getListView();
      //lv.addFooterView(getFooterView());
      
      //No need to do this anymore
      //setInitialView(lv);
      lv.setItemsCanFocus(true);
      
      populateWordHeader(parceledWord);
      populateWordMeaningsList(parceledWord);
    }
  
  /*    
    @Deprecated
    private void setInitialView(ListView lv)
    {
      //load the view that you want the list to show first
      View beginView = this.getEmptyBeginView();
      beginView.setVisibility(View.GONE);
      
      //Add this view as one of the possible views to the 
      //list view parent
        ((ViewGroup)(lv.getParent())).addView(beginView);
        
        //Use the function on listview to show this
        lv.setEmptyView(beginView);      
    }
    
    //Load the view that shows the layout when starting the 
    //list population.
    @Deprecated
    private View getEmptyBeginView()
    {
       LayoutInflater lif = LayoutInflater.from(this);
       View v = lif.inflate(R.layout.wml_empty_begin_layout, null);
       return v;
    }    
*/  
    private View getFooterView()
    {
       LayoutInflater lif = LayoutInflater.from(this);
       View v = lif.inflate(R.layout.wml_footer_layout, null);
       return v;
    }    
    //Assume that no rows are found
    //Locate the text id in the initial view and set it 
    //to an error message.
    private void setErrorView(String errorMessage)
    {
      TextView emptyView = 
        (TextView)findViewById(android.R.id.empty);
      emptyView.setText(errorMessage);
    }
    
    private void setEmptyViewToNoRows()
    {
      TextView emptyView = 
        (TextView)findViewById(android.R.id.empty);
      
/*      
      LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams)emptyView.getLayoutParams();
      lp.height = LayoutParams.WRAP_CONTENT;
      lp.gravity = 0;
      
      Button b = (Button)findViewById(R.id.wml_CreateMeaningButton);
      b.setVisibility(View.VISIBLE);
*/      
      emptyView.setText("No Meanings available for this word");
    }
    
  private Word getParceledWordFromIntent()
  {
    Intent i = this.getIntent();
    if (i == null)    {
      throw new RuntimeException("Sorry no intent found");
    }
    //intent is available
    String wordId = i.getStringExtra(Word.PARCELABLE_WORD_ID);
    if (wordId == null) {
      throw new RuntimeException("word id not found");
    }
    
    reportTransient("wordid found:" + wordId);
    ParseObjectWrapper pow = 
      (ParseObjectWrapper)i.getParcelableExtra(Word.t_tablename);
    
    if (pow == null) {
      throw new RuntimeException("ParceledWord not found");
    }
    Word parceledWord = new Word(pow);
    
    
    reportTransient("Parcelled word recovered");
    return parceledWord;
  }
    /*
     * word is a parse wrapped object
     * Get all the meanings for this word
     * It is a parceled word. Almost like a word but not fully!
     */
    private void populateWordMeaningsList(Word word)
    {
      ParseQuery query = new ParseQuery(WordMeaning.t_tablename);
      query.whereEqualTo(WordMeaning.f_word, word.po);
      query.orderByDescending(WordMeaning.f_createdAt);
      
      //Include who created me
      query.include(WordMeaning.f_createdBy);
      
      //Include who the parent word is
      query.include(WordMeaning.f_word);
      
      //How can I include the owner of the word
      query.include(WordMeaning.f_word + "." + Word.f_createdBy);
      
      this.turnOnProgressDialog("Going to get word meanings for:" + word.getWord(), 
          "Patience. Be Right back");
      query.findInBackground(new FindCallback() {
        public void done(List<ParseObject> objects, ParseException e) {
        turnOffProgressDialog();
          if (e == null) {
              // The query was successful.
            successfulQuery(objects);
          } else {
              // Something went wrong.
            queryFailure(e);
          }
        }
      });      
    }
    private void successfulQuery(List<ParseObject> objects)
    {
      this.setEmptyViewToNoRows();
      ArrayList<WordMeaning> wordMeaningList = new ArrayList<WordMeaning>();
      for(ParseObject po: objects)
      {
        WordMeaning wordMeaning = new WordMeaning(po);
        wordMeaningList.add(wordMeaning);
      }
      
       WordMeaningListAdapter listItemAdapter = 
       new WordMeaningListAdapter(this
               ,wordMeaningList
               ,this);
       this.setListAdapter(listItemAdapter);
    }
    private void queryFailure(ParseException x)
    {
      this.setErrorView(x.getMessage());
    }
    //respond to button
    public void createWordMeaning(View v)
    {
    reportTransient("Going to create a word meaning");
    Intent i = new Intent(this,CreateAMeaningActivity.class);
    i.putExtra(Word.t_tablename,parceledWord);
    startActivity(i);      
    }
    private void populateWordHeader(Word pword)
    {
      this.setTitle("Meanings for:" + pword.getWord());
    }
   
}//eof-class





Java Source Code List

com.androidbook.notebad.NoteEditor.java
com.androidbook.notebad.NotePadProvider.java
com.androidbook.notebad.NotePad.java
com.androidbook.notebad.NotesList.java
com.androidbook.notebad.TitleEditor.java
com.androidbook.parse.BaseActivity.java
com.androidbook.parse.BaseListActivity.java
com.androidbook.parse.CreateAMeaningActivity.java
com.androidbook.parse.CreateAWordActivity.java
com.androidbook.parse.Field.java
com.androidbook.parse.FormActivity.java
com.androidbook.parse.IReportBack.java
com.androidbook.parse.IValidator.java
com.androidbook.parse.IValueValidator.java
com.androidbook.parse.LoginActivity.java
com.androidbook.parse.ParseApplication.java
com.androidbook.parse.ParseObjectWrapperOld1.java
com.androidbook.parse.ParseObjectWrapper.java
com.androidbook.parse.ParseStarterProjectActivity.java
com.androidbook.parse.PasswordFieldRule.java
com.androidbook.parse.PasswordResetActivity.java
com.androidbook.parse.PasswordResetSuccessActivity.java
com.androidbook.parse.SignupActivity.java
com.androidbook.parse.SignupSuccessActivity.java
com.androidbook.parse.StringUtils.java
com.androidbook.parse.UserListActivity.java
com.androidbook.parse.WelcomeActivity.java
com.androidbook.parse.WordListActivity.java
com.androidbook.parse.WordListAdapter.java
com.androidbook.parse.WordMeaningListAdapter.java
com.androidbook.parse.WordMeaning.java
com.androidbook.parse.WordMeaningsListActivity.java
com.androidbook.parse.Word.java
com.iuriio.demos.expertandroid.ch10search.MainActivity.java
com.iuriio.demos.expertandroid.ch10search.SearchActivity.java
com.iuriio.demos.expertandroid.ch11searchprovider.MainActivity.java
com.iuriio.demos.expertandroid.ch11searchprovider.SearchActivity.java
com.iuriio.demos.expertandroid.ch11searchprovider.SimpleSuggestionProvider.java
com.iuriio.demos.expertandroid.ch11searchprovider.SuggestUrlProvider.java
com.iuriio.demos.expertandroid.ch13parsesimple.BaseActivity.java
com.iuriio.demos.expertandroid.ch13parsesimple.LoginActivity.java
com.iuriio.demos.expertandroid.ch13parsesimple.MainActivity.java
com.iuriio.demos.expertandroid.ch13parsesimple.ParseApp.java
com.iuriio.demos.expertandroid.ch13parsesimple.ParseObjectWrapper.java
com.iuriio.demos.expertandroid.ch13parsesimple.ParseStarterProjectActivity.java
com.iuriio.demos.expertandroid.ch13parsesimple.PasswordResetSuccessActivity.java
com.iuriio.demos.expertandroid.ch13parsesimple.ResetPasswordActivity.java
com.iuriio.demos.expertandroid.ch13parsesimple.SignupActivity.java
com.iuriio.demos.expertandroid.ch13parsesimple.StringUtils.java
com.iuriio.demos.expertandroid.ch13parsesimple.WordListActivity.java
com.iuriio.demos.expertandroid.ch13parsesimple.Word.java
com.iuriio.demos.expertandroid.ch1circleview.AbstractBaseView.java
com.iuriio.demos.expertandroid.ch1circleview.CircleView.java
com.iuriio.demos.expertandroid.ch1circleview.MainActivity.java
com.iuriio.demos.expertandroid.ch2durationcontrol.DatePickerFragment.java
com.iuriio.demos.expertandroid.ch2durationcontrol.DurationControl.java
com.iuriio.demos.expertandroid.ch2durationcontrol.MainActivity.java
com.iuriio.demos.expertandroid.ch3flowlayout.FlowLayout.java
com.iuriio.demos.expertandroid.ch3flowlayout.MainActivity.java
com.iuriio.demos.expertandroid.ch4gsonserialization.ChildObject.java
com.iuriio.demos.expertandroid.ch4gsonserialization.MainActivity.java
com.iuriio.demos.expertandroid.ch4gsonserialization.MainObject.java
com.iuriio.demos.expertandroid.ch6forms.BaseActivity.java
com.iuriio.demos.expertandroid.ch6forms.Field.java
com.iuriio.demos.expertandroid.ch6forms.FormActivity.java
com.iuriio.demos.expertandroid.ch6forms.IValidator.java
com.iuriio.demos.expertandroid.ch6forms.IValueValidator.java
com.iuriio.demos.expertandroid.ch6forms.MainActivity.java
com.iuriio.demos.expertandroid.ch6forms.PasswordFieldRule.java
com.iuriio.demos.expertandroid.ch6forms.StringUtils.java
com.iuriio.demos.expertandroid.ch6forms.WelcomeActivity.java
com.iuriio.demos.expertandroid.ch9openglexperiments.AbstractRenderer.java
com.iuriio.demos.expertandroid.ch9openglexperiments.AnimatedSimpleTriangleRenderer.java
com.iuriio.demos.expertandroid.ch9openglexperiments.ES20AbstractRenderer.java
com.iuriio.demos.expertandroid.ch9openglexperiments.ES20ControlledAnimatedTexturedCubeRenderer.java
com.iuriio.demos.expertandroid.ch9openglexperiments.ES20SimpleTriangleRenderer.java
com.iuriio.demos.expertandroid.ch9openglexperiments.ES20SingleTextureAbstractRenderer.java
com.iuriio.demos.expertandroid.ch9openglexperiments.FrustumDimensions.java
com.iuriio.demos.expertandroid.ch9openglexperiments.MainActivity.java
com.iuriio.demos.expertandroid.ch9openglexperiments.MyApplication.java
com.iuriio.demos.expertandroid.ch9openglexperiments.OpenGLES10Activity.java
com.iuriio.demos.expertandroid.ch9openglexperiments.OpenGLES20Activity.java
com.iuriio.demos.expertandroid.ch9openglexperiments.PolygonRenderer.java
com.iuriio.demos.expertandroid.ch9openglexperiments.RegularPolygon.java
com.iuriio.demos.expertandroid.ch9openglexperiments.Shape.java
com.iuriio.demos.expertandroid.ch9openglexperiments.SimpleTriangleRenderer.java
converters.FieldTransporter.java
converters.IFieldTransport.java
converters.IntegerFieldTransport.java
converters.ParseObjectEssentials.java
converters.StringFieldTransport.java
converters.User.java
converters.ValueField.java