Android Open Source - Intro-to-Android Slide List Spinner Adapter






From Project

Back to project page Intro-to-Android.

License

The source code is released under:

Apache License

If you think the Android project Intro-to-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

/*
 * Copyright (C) 2011 Michael Imamura/* ww  w . j  a  v a2s . co m*/
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */

package org.lugatgt.zoogie.present.ui;

import org.lugatgt.zoogie.present.Presentation;
import org.lugatgt.zoogie.present.R;

import android.content.Context;
import android.widget.ArrayAdapter;
import android.widget.SpinnerAdapter;


public class SlideListSpinnerAdapter extends ArrayAdapter<CharSequence> implements SpinnerAdapter {

    // CONSTRUCTORS ////////////////////////////////////////////////////////////
    
    public SlideListSpinnerAdapter(Presentation presentation, Context ctx) {
        super(ctx, android.R.layout.simple_spinner_item,
            renderTitleList(presentation.getSlideTitles(ctx), ctx));
        
        setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    }
    
    // FORMATTING //////////////////////////////////////////////////////////////
    
    /**
     * Format the list of titles for the dropdown.
     * @param titles The original list of slide titles (may not be empty, may not be null).
     * @return The formatted list of titles (never null, never empty).
     */
    protected static String[] renderTitleList(CharSequence[] titles, Context ctx) {
        String[] retv = new String[titles.length];
        
        // Assume that the first slide is the title.
        retv[0] = "1. " + ctx.getString(R.string.title_slide_title);
        
        for (int i = 1; i < titles.length; i++) {
            retv[i] = (i + 1) + ". " + titles[i];
        }
        return retv;
    }
    
}




Java Source Code List

org.lugatgt.zoogie.introtoandroid.AboutActivity.java
org.lugatgt.zoogie.introtoandroid.MainActivity.java
org.lugatgt.zoogie.introtoandroid.MainPresentation.java
org.lugatgt.zoogie.introtoandroid.slide.AndroidSlide.java
org.lugatgt.zoogie.introtoandroid.slide.ApiHistorySlide.java
org.lugatgt.zoogie.introtoandroid.slide.BasicTextSlide.java
org.lugatgt.zoogie.introtoandroid.slide.ForkThisSlide.java
org.lugatgt.zoogie.introtoandroid.slide.InternalsSlide.java
org.lugatgt.zoogie.introtoandroid.slide.PartsSlide.java
org.lugatgt.zoogie.introtoandroid.slide.TitleSlide.java
org.lugatgt.zoogie.introtoandroid.ui.PartLayer.java
org.lugatgt.zoogie.introtoandroid.ui.PartsView.java
org.lugatgt.zoogie.present.Presentation.java
org.lugatgt.zoogie.present.SlideTransition.java
org.lugatgt.zoogie.present.Slide.java
org.lugatgt.zoogie.present.Transitions.java
org.lugatgt.zoogie.present.ui.AboutActivity.java
org.lugatgt.zoogie.present.ui.PresentationActivity.java
org.lugatgt.zoogie.present.ui.SlideFragment.java
org.lugatgt.zoogie.present.ui.SlideListSpinnerAdapter.java
org.lugatgt.zoogie.present.ui.TitleFragment.java