广

android开发

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    Android列表实现(3)_自定义列表适配器思路及实现代码

    2018-04-04 08:35:17 次阅读 稿源:互联网
    广告
    下面的例子为使用自定义的列表适配器来显示列表。
    代码如下:

    View Code
    import android.os.Bundle;
    import android.app.ListActivity;
    import android.content.Context;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.BaseAdapter;
    import android.widget.LinearLayout;
    import android.widget.TextView;
    public class MainActivity extends ListActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setListAdapter(new SpeechListAdapter(this));
    }
    /**
    * A sample ListAdapter that presents content from arrays of speeches and
    * text.
    *
    */
    private class SpeechListAdapter extends BaseAdapter {
    public SpeechListAdapter(Context context) {
    mContext = context;
    }
    /**
    * The number of items in the list is determined by the number of speeches
    * in our array.
    *
    * @see android.widget.ListAdapter#getCount()
    */
    public int getCount() {
    return mTitles.length;
    }
    /**
    * Since the data comes from an array, just returning the index is
    * sufficent to get at the data. If we were using a more complex data
    * structure, we would return whatever object represents one row in the
    * list.
    *
    * @see android.widget.ListAdapter#getItem(int)
    */
    public Object getItem(int position) {
    return position;
    }
    /**
    * Use the array index as a unique id.
    *
    * @see android.widget.ListAdapter#getItemId(int)
    */
    public long getItemId(int position) {
    return position;
    }
    /**
    * Make a SpeechView to hold each row.
    *
    * @see android.widget.ListAdapter#getView(int, android.view.View,
    * android.view.ViewGroup)
    */
    public View getView(int position, View convertView, ViewGroup parent) {
    SpeechView sv;
    if (convertView == null) {
    sv = new SpeechView(mContext, mTitles[position],
    mDialogue[position]);
    } else {
    sv = (SpeechView) convertView;
    sv.setTitle(mTitles[position]);
    sv.setDialogue(mDialogue[position]);
    }
    return sv;
    }
    /**
    * Remember our context so we can use it when constructing views.
    */
    private Context mContext;
    /**
    * Our data, part 1.
    */
    private String[] mTitles =
    {
    "Henry IV (1)",
    "Henry V",
    "Henry VIII",
    "Richard II",
    "Richard III",
    "Merchant of Venice",
    "Othello",
    "King Lear"
    };
    /**
    * Our data, part 2.
    */
    private String[] mDialogue =
    {
    "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!"
    };
    }
    /**
    * We will use a SpeechView to display each speech. It's just a LinearLayout
    * with two text fields.
    *
    */
    private class SpeechView extends LinearLayout {
    public SpeechView(Context context, String title, String words) {
    super(context);
    this.setOrientation(VERTICAL);
    // Here we build the child views in code. They could also have
    // been specified in an XML file.
    mTitle = new TextView(context);
    mTitle.setText(title);
    addView(mTitle, new LinearLayout.LayoutParams(
    LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
    mDialogue = new TextView(context);
    mDialogue.setText(words);
    addView(mDialogue, new LinearLayout.LayoutParams(
    LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
    }
    /**
    * Convenience method to set the title of a SpeechView
    */
    public void setTitle(String title) {
    mTitle.setText(title);
    }
    /**
    * Convenience method to set the dialogue of a SpeechView
    */
    public void setDialogue(String words) {
    mDialogue.setText(words);
    }
    private TextView mTitle;
    private TextView mDialogue;
    }
    }

    该例子中自定义了适配器 SpeechListAdapter (其继承父类BaseAdapter)以及作为记录模板的 SpeechView(其父类为LinearLayout)。
    SpeechListAdapter中的方法getView实现了返回指定位置的记录显示对象的逻辑。

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告