首页 > 代码库 > fragment实例

fragment实例

fragment_layout.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >

    <fragment
        android:id="@+id/titles"
        android:layout_width="0px"
        android:layout_height="match_parent"
        android:layout_weight="1"
        class="com.hesky.app.TitlesFragment" />

    <fragment
        android:id="@+id/details"
        android:layout_width="0px"
        android:layout_height="match_parent"
        android:layout_weight="2"
        class="com.hesky.app.DetailsFragment" />

</LinearLayout>

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/textview"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textSize="24px"
        android:background="?android:attr/detailsElementBackground"
        android:text="@string/hello" />

</LinearLayout>

FragmentTestActivity.java:

package com.hesky.app;

import com.hesky.app.TitlesFragment.OnTitleSelectedListener;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

public class FragmentTestActivity extends Activity implements OnTitleSelectedListener{
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.fragment_layout);
    }

 @Override
 public void onTitleSelected(int selected) {
  Log.i("selected", Integer.toString(selected));
  DetailsFragment df=(DetailsFragment)this.getFragmentManager().findFragmentById(R.id.details);
  df.setText(selected);
 }  
}

TitlesFragment .java:

package com.hesky.app;

import android.app.Activity;
import android.app.ListFragment;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class TitlesFragment extends ListFragment {

 OnTitleSelectedListener mListener;
 int mCurSelected = 0;

 @Override
 public void onActivityCreated(Bundle savedInstanceState) {
  super.onActivityCreated(savedInstanceState);
  this.setListAdapter(new ArrayAdapter<String>(this.getActivity(),
    android.R.layout.simple_list_item_activated_1,
    Shakespeare.TITLES));
  this.getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE);
  this.getListView().setSelection(mCurSelected);
 }

 public interface OnTitleSelectedListener {
  public void onTitleSelected(int selected);
 }

 @Override
 public void onAttach(Activity activity) {
  super.onAttach(activity);
  try {
   mListener = (OnTitleSelectedListener) activity;
  } catch (ClassCastException e) {
   throw new ClassCastException(activity.toString()
     + " must implements onTitileSelectedListener");
  }
 }

 @Override
 public void onListItemClick(ListView l, View v, int position, long id) {
  super.onListItemClick(l, v, position, id);
  if (position != mCurSelected) {
   mListener.onTitleSelected(position);
   mCurSelected = position;
  }
 }

}

DetailsFragment.java:

package com.hesky.app;

import android.app.Fragment;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

public class DetailsFragment extends Fragment {
 TextView tv;
 @Override
 public View onCreateView(LayoutInflater inflater, ViewGroup container,
   Bundle savedInstanceState) {

  return (inflater.inflate(R.layout.main, container, false));
 }

 public void setText(int selected) {
  Log.i("Datail selected", Integer.toString(selected));
  tv = (TextView) (getActivity().findViewById(R.id.textview));
  tv.setText(Shakespeare.DIALOGUE[selected]);
 }

}
Shakespeare.java:

package com.hesky.app;

public final class Shakespeare {
    /**
     * Our data, part 1.
     */
    public static final String[] TITLES = 
    {
            "Henry IV (1)",   
            "Henry V",
            "Henry VIII",       
            "Richard II",
            "Richard III",
            "Merchant of Venice",  
            "Othello",
            "King Lear"
    };
    
    /**
     * Our data, part 2.
     */
    public static final String[] DIALOGUE = 
    {
            "So shaken as we are, so wan with care," +
            "Find we a time for frighted peace to pant," +
            "And breathe short-winded accents of new broils" +
            "To be commenced in strands afar remote." +
            "No more the thirsty entrance of this soil" +
            "Shall daub her lips with her own children‘s blood;" +
            "Nor more shall trenching war channel her fields," +
            "Nor bruise her flowerets with the armed hoofs" +
            "Of hostile paces: those opposed eyes," +
            "Which, like the meteors of a troubled heaven," +
            "All of one nature, of one substance bred," +
            "Did lately meet in the intestine shock" +
            "And furious close of civil butchery" +
            "Shall now, in mutual well-beseeming ranks," +
            "March all one way and be no more opposed" +
            "Against acquaintance, kindred and allies:" +
            "The edge of war, like an ill-sheathed knife," +
            "No more shall cut his master. Therefore, friends," +
            "As far as to the sepulchre of Christ," +
            "Whose soldier now, under whose blessed cross" +
            "We are impressed and engaged to fight," +
            "Forthwith a power of English shall we levy;" +
            "Whose arms were moulded in their mothers‘ womb" +
            "To chase these pagans in those holy fields" +
            "Over whose acres walk‘d those blessed feet" +
            "Which fourteen hundred years ago were nail‘d" +
            "For our advantage on the bitter cross." +
            "But this our purpose now is twelve month old," +
            "And bootless ‘tis to tell you we will go:" +
            "Therefore we meet not now. Then let me hear" +
            "Of you, my gentle cousin Westmoreland," +
            "What yesternight our council did decree" +
            "In forwarding this dear expedience.",
            
            "Hear him but reason in divinity," + 
            "And all-admiring with an inward wish" + 
            "You would desire the king were made a prelate:" + 
            "Hear him debate of commonwealth affairs," + 
            "You would say it hath been all in all his study:" + 
            "List his discourse of war, and you shall hear" + 
            "A fearful battle render‘d you in music:" + 
            "Turn him to any cause of policy," + 
            "The Gordian knot of it he will unloose," + 
            "Familiar as his garter: that, when he speaks," + 
            "The air, a charter‘d libertine, is still," + 
            "And the mute wonder lurketh in men‘s ears," + 
            "To steal his sweet and honey‘d sentences;" + 
            "So that the art and practic part of life" + 
            "Must be the mistress to this theoric:" + 
            "Which is a wonder how his grace should glean it," + 
            "Since his addiction was to courses vain," + 
            "His companies unletter‘d, rude and shallow," + 
            "His hours fill‘d up with riots, banquets, sports," + 
            "And never noted in him any study," + 
            "Any retirement, any sequestration" + 
            "From open haunts and popularity.",

            "I come no more to make you laugh: things now," +
            "That bear a weighty and a serious brow," +
            "Sad, high, and working, full of state and woe," +
            "Such noble scenes as draw the eye to flow," +
            "We now present. Those that can pity, here" +
            "May, if they think it well, let fall a tear;" +
            "The subject will deserve it. Such as give" +
            "Their money out of hope they may believe," +
            "May here find truth too. Those that come to see" +
            "Only a show or two, and so agree" +
            "The play may pass, if they be still and willing," +
            "I‘ll undertake may see away their shilling" +
            "Richly in two short hours. Only they" +
            "That come to hear a merry bawdy play," +
            "A noise of targets, or to see a fellow" +
            "In a long motley coat guarded with yellow," +
            "Will be deceived; for, gentle hearers, know," +
            "To rank our chosen truth with such a show" +
            "As fool and fight is, beside forfeiting" +
            "Our own brains, and the opinion that we bring," +
            "To make that only true we now intend," +
            "Will leave us never an understanding friend." +
            "Therefore, for goodness‘ sake, and as you are known" +
            "The first and happiest hearers of the town," +
            "Be sad, as we would make ye: think ye see" +
            "The very persons of our noble story" +
            "As they were living; think you see them great," +
            "And follow‘d with the general throng and sweat" +
            "Of thousand friends; then in a moment, see" +
            "How soon this mightiness meets misery:" +
            "And, if you can be merry then, I‘ll say" +
            "A man may weep upon his wedding-day.",
            
            "First, heaven be the record to my speech!" + 
            "In the devotion of a subject‘s love," + 
            "Tendering the precious safety of my prince," + 
            "And free from other misbegotten hate," + 
            "Come I appellant to this princely presence." + 
            "Now, Thomas Mowbray, do I turn to thee," + 
            "And mark my greeting well; for what I speak" + 
            "My body shall make good upon this earth," + 
            "Or my divine soul answer it in heaven." + 
            "Thou art a traitor and a miscreant," + 
            "Too good to be so and too bad to live," + 
            "Since the more fair and crystal is the sky," + 
            "The uglier seem the clouds that in it fly." + 
            "Once more, the more to aggravate the note," + 
            "With a foul traitor‘s name stuff I thy throat;" + 
            "And wish, so please my sovereign, ere I move," + 
            "What my tongue speaks my right drawn sword may prove.",
            
            "Now is the winter of our discontent" + 
            "Made glorious summer by this sun of York;" + 
            "And all the clouds that lour‘d upon our house" + 
            "In the deep bosom of the ocean buried." + 
            "Now are our brows bound with victorious wreaths;" + 
            "Our bruised arms hung up for monuments;" + 
            "Our stern alarums changed to merry meetings," + 
            "Our dreadful marches to delightful measures." + 
            "Grim-visaged war hath smooth‘d his wrinkled front;" + 
            "And now, instead of mounting barded steeds" + 
            "To fright the souls of fearful adversaries," + 
            "He capers nimbly in a lady‘s chamber" + 
            "To the lascivious pleasing of a lute." + 
            "But I, that am not shaped for sportive tricks," + 
            "Nor made to court an amorous looking-glass;" + 
            "I, that am rudely stamp‘d, and want love‘s majesty" + 
            "To strut before a wanton ambling nymph;" + 
            "I, that am curtail‘d of this fair proportion," + 
            "Cheated of feature by dissembling nature," + 
            "Deformed, unfinish‘d, sent before my time" + 
            "Into this breathing world, scarce half made up," + 
            "And that so lamely and unfashionable" + 
            "That dogs bark at me as I halt by them;" + 
            "Why, I, in this weak piping time of peace," + 
            "Have no delight to pass away the time," + 
            "Unless to spy my shadow in the sun" + 
            "And descant on mine own deformity:" + 
            "And therefore, since I cannot prove a lover," + 
            "To entertain these fair well-spoken days," + 
            "I am determined to prove a villain" + 
            "And hate the idle pleasures of these days." + 
            "Plots have I laid, inductions dangerous," + 
            "By drunken prophecies, libels and dreams," + 
            "To set my brother Clarence and the king" + 
            "In deadly hate the one against the other:" + 
            "And if King Edward be as true and just" + 
            "As I am subtle, false and treacherous," + 
            "This day should Clarence closely be mew‘d up," + 
            "About a prophecy, which says that ‘G‘" + 
            "Of Edward‘s heirs the murderer shall be." + 
            "Dive, thoughts, down to my soul: here" + 
            "Clarence comes.",
            
            "To bait fish withal: if it will feed nothing else," + 
            "it will feed my revenge. He hath disgraced me, and" + 
            "hindered me half a million; laughed at my losses," + 
            "mocked at my gains, scorned my nation, thwarted my" + 
            "bargains, cooled my friends, heated mine" + 
            "enemies; and what‘s his reason? I am a Jew. Hath" + 
            "not a Jew eyes? hath not a Jew hands, organs," + 
            "dimensions, senses, affections, passions? fed with" + 
            "the same food, hurt with the same weapons, subject" + 
            "to the same diseases, healed by the same means," + 
            "warmed and cooled by the same winter and summer, as" + 
            "a Christian is? If you prick us, do we not bleed?" + 
            "if you tickle us, do we not laugh? if you poison" + 
            "us, do we not die? and if you wrong us, shall we not" + 
            "revenge? If we are like you in the rest, we will" + 
            "resemble you in that. If a Jew wrong a Christian," + 
            "what is his humility? Revenge. If a Christian" + 
            "wrong a Jew, what should his sufferance be by" + 
            "Christian example? Why, revenge. The villany you" + 
            "teach me, I will execute, and it shall go hard but I" + 
            "will better the instruction.",
            
            "Virtue! a fig! ‘tis in ourselves that we are thus" + 
            "or thus. Our bodies are our gardens, to the which" + 
            "our wills are gardeners: so that if we will plant" + 
            "nettles, or sow lettuce, set hyssop and weed up" + 
            "thyme, supply it with one gender of herbs, or" + 
            "distract it with many, either to have it sterile" + 
            "with idleness, or manured with industry, why, the" + 
            "power and corrigible authority of this lies in our" + 
            "wills. If the balance of our lives had not one" + 
            "scale of reason to poise another of sensuality, the" + 
            "blood and baseness of our natures would conduct us" + 
            "to most preposterous conclusions: but we have" + 
            "reason to cool our raging motions, our carnal" + 
            "stings, our unbitted lusts, whereof I take this that" + 
            "you call love to be a sect or scion.",

            "Blow, winds, and crack your cheeks! rage! blow!" + 
            "You cataracts and hurricanoes, spout" + 
            "Till you have drench‘d our steeples, drown‘d the cocks!" + 
            "You sulphurous and thought-executing fires," + 
            "Vaunt-couriers to oak-cleaving thunderbolts," + 
            "Singe my white head! And thou, all-shaking thunder," + 
            "Smite flat the thick rotundity o‘ the world!" + 
            "Crack nature‘s moulds, an germens spill at once," + 
            "That make ingrateful man!"
    };
}

fragment实例