Okhelp.cz

Recepty, články, nápady, programování. Dříve dum-zahrada, finance, internet a know-how.okhelp.cz Pro lepší výsledky hledání používejte i diakritiku.

Spinner ComboBox DropDown List Android example code


AD MOB

Spinner in Android application is equivalent of ComboBox in WinApi.
Spinner get selected item to string example.
Spinner get selected item position to int example.

Main activity class MainComboBox.java

public class MainComboBox extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Spinner spinner = (Spinner) findViewById(R.id.spinner);
        ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
                this, R.array.countries_array, android.R.layout.simple_spinner_item);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner.setAdapter(adapter);
        spinner.setOnItemSelectedListener(new MyOnItemSelectedListener());

        Button myButton =(Button)findViewById(R.id.button1);
        myButton.setOnClickListener(new Button.OnClickListener() {
            public void onClick(View v) {
            	
            Spinner sp =	(Spinner)findViewById(R.id.spinner);
            String spinnerString = null;
            spinnerString = sp.getSelectedItem().toString();
            int nPos = sp.getSelectedItemPosition();
            
             
                Toast.makeText(getApplicationContext(), "getSelectedItem=" + spinnerString,
                    Toast.LENGTH_LONG).show();
                Toast.makeText(getApplicationContext(), "getSelectedItemPosition=" + nPos,
                		Toast.LENGTH_LONG).show();
            }
        });
    }
}



File MyOnItemSelectedListener.java

public  class MyOnItemSelectedListener implements OnItemSelectedListener {

    public void onItemSelected(AdapterView<?> parent,
        View view, int pos, long id) {
      Toast.makeText(parent.getContext(), "Item is " +
          parent.getItemAtPosition(pos).toString(), Toast.LENGTH_LONG).show();
    }

    public void onNothingSelected(AdapterView parent) {
      // Do nothing.
    }
}


strings.xml

<resources>
    <string name="hello">Hello World, MainComboBox!</string>
    <string name="app_name">ComboBox</string>
    <string name="prompt">Choose a country</string>
    <string-array name="countries_array">
        <item>China</item>
        <item>India</item>
        <item>USA</item>
        <item>Indonesia</item>
        <item>Brazil</item>
        <item>Pakistan</item>
        <item>Nigeria</item>
        <item>Bangladesh</item>
        <item>Russia</item>
    </string-array>    
</resources>


main.xml

<LinearLayout xmlns:android="//schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:padding="10dip"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">
    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dip"
        android:text="@string/prompt"
    />
    <Spinner 
        android:id="@+id/spinner"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:prompt="@string/prompt"
    />
    <Button android:text="Button" android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>

</LinearLayout>





397LW NO topic_id




AD

Další témata ....(Topics)


367

View getId is null Android | view-getid-is-null-android


If you create a button or view programmatically with OnClickListener you can set a tag key before button in parent layout is added.
And get correct button by this tag getTag() instead getId() in OnClickListener etc.

Button button = new Button(getApplicationContext());
int idOfButton = button.getId(); // return -1

button.setTag("my_button");
String sTag = (String) button.getTag(); // return "my_button"

54

Timer simple TimerTask Java Android example | timer-simple-timertask-java-android-example


TimerTask with updating of TextView here




package cz.okhelp.timer;

import java.util.Timer;
import java.util.TimerTask;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class TimerActivity extends Activity {
TextView hTextView;
@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        hTextView = (TextView)findViewById(R.id.idTextView);
        MyTimerTask myTask = new MyTimerTask();
        Timer myTimer = new Timer();
//        public void schedule (TimerTask task, long delay, long period) 
//        Schedule a task for repeated fixed-delay execution after a specific delay.
//
//        Parameters
//        task  the task to schedule. 
//        delay  amount of time in milliseconds before first execution. 
//        period  amount of time in milliseconds between subsequent executions. 

        myTimer.schedule(myTask, 3000, 1500);        
        
    }
class MyTimerTask extends TimerTask {
	  public void run() {
		  // ERROR
		 hTextView.setText("Impossible");
		 // how update TextView in link below  
                 // //android.okhelp.cz/timer-task-timertask-run-cancel-android-example/
                 
	    System.out.println("");
	  }
	}


}


//android.okhelp.cz/asynctask-example-android-with-progressbar/
//android.okhelp.cz/timer-task-timertask-run-cancel-android-example/
16

float in Java example code | float-in-java-example-code


Android development
Java float is 32 bit single precision type and used when fractional precision calculation is required.

Java float je 32 bitů veliké číslo sloužící především pro přesný výsledek za desetinnou tečkou například při dělení čísel. Pro větší přesnost použíijte 64 bitový typ Double.


		// declaration and assignment of value  type float
		float x = 18.41785f;
		//print formated  value
		System.out.printf("The value of x is %.3f%n", x); // 18.418
                
                // declaring more variables in single statement
                float f1 = 12.4F, f2 = 564.5F, f3 = 14.589F;

		// float range of value
		System.out.println(Float.MIN_VALUE); // 4E-45
		System.out.println(Float.MAX_VALUE); // 4028235E38

		// is NaN  Not-a-Number
		float f = (float) Math.sqrt(-15);
		boolean bNaN = Float.isNaN(f);
		System.out.print(bNaN); // true
		
                // check if a string is a valid number in Java example
                // convert string to float Java example
		String sF = "12.8";
		float fParse = Float.parseFloat(sF);

	       // convert strings to numbers
	      String sFl = "15.48";
	      float fFromString = (Float.valueOf(sFl)).floatValue();

// float to string in Java example code
Float fObj = new Float(68.5);
String str = fObj.toString();
// else 
Float fS = 11.6f;
String sFloat = fS.toString();

              // compare two float variables
	      Float fComp1 = 4.3f;
	      if(fComp1.equals(4.3f))
	  		System.out.print("true");

	    // compares the two specified float values in Java example
	    int i =	Float.compare(11.5f, 11.7f); // -1 first < second
	    // 0 first == second
	    // 1 first > second
	    System.out.print(i);


375

3. Fragments Tutorial HeadlinesFragment – Czech language | 3-fragments-tutorial-headlinesfragment-czech-language


Dil 3. HeadlinesFragment.java
V 1. dílu jsme se něco dozvěděli od XML souborech
V 2. dílu jsme rozebrali MainActivity.java


V tomto dílu si rozebereme záludnosti v HeadlinesFragment.java souboru.
Používáme příklad i zip porojekt z https://developer.android.com/training/basics/fragments/creating.html Pozorně si jej nastudujte.

package com.example.android.fragments;

import android.app.Activity;
import android.os.Build;
import android.os.Bundle;
// pokud chceme aby byla aplikace spustitelná i v nižších verzích Androidu
import android.support.v4.app.ListFragment;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;

// extends ListFragment důležité pro základní obsluhu ListView atd.
public class HeadlinesFragment extends ListFragment {
	// zajistí zpětné odesílání zprav - zde zachytí kliknutí uživatele na položku
        // v ListView - seznamu položek 
    OnHeadlineSelectedListener mCallback;

    // pro odposlouchávání zpráv v ListView a odesílání do MainActivity.java
    public interface OnHeadlineSelectedListener {
        /**
		funkce je volána onArticleSelected z HeadlinesFragment když uživatel
                klikne na item v ListView - položku seznamu -
		Tělo funkce je v MainActivity!!! Tam proběhnou potřebné úkony.
                Například výměna fragmentů atd. */
        public void onArticleSelected(int position);
    }

	/** Protože je HeadlinesFragment rozšířením (extends) ListFragment
	používá funkci onCreate(). 
        ArticleFragment extends Fragment bude používat onCreateView() 
	*/
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        
		// Zde si pohlídáme verze Androidu a přiřadíme jim 
                // předdefinovanou šablonu XML souboru
		// Je to důležité pokud chceme využívat více možností, 
                // které nové verze nabízejí 
		// například podbarvení vybrané položky seznamu
        int layout = Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB ?
                android.R.layout.simple_list_item_activated_1 : android.R.layout.simple_list_item_1;

		
		// zde se vytovoří jednotlivé položky seznamu v ListView
		// Pole vypadá takto:  
		// static String[] Headlines = {"Article One","Article Two"};
		// položky tedy ponesou názvy ze String[] Headlines
		// Teoreticky si menší pole položek můžete dát i sem pro jednodušší editaci
        setListAdapter(new ArrayAdapter<String>(getActivity(), layout, Ipsum.Headlines));
    }

    @Override
    public void onStart() {
        super.onStart();

		
		// Pokud se bude zobrazovat dual-panel 
                // (pro tablety, větší obrazovky) 
                // například je dobré
		// když bude zvýrazněna vybraná položka setChoiceMode(ListView.CHOICE_MODE_SINGLE);
		// Toto provádíme v onStart(), kdy máme přístup k listview
        if (getFragmentManager().findFragmentById(R.id.article_fragment) != null) {
            getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE);
        }
    }

	// onAttach() bude asi deprecated, tak můžete vyzkoušet
	/* 
			@Override
		public void onAttach(Context context) {
			super.onAttach(context);

			Activity a;

			if (context instanceof Activity){
				a=(Activity) context;
			}
		}
	*/
// nebo pohledat něco na inetu 
	
    @Override
    public void onAttach(Activity activity) {
        super.onAttach(activity);

		
		// Zde přiřadíme odposlouchávání zprávy kliknutí na položku ListView 
		// a zpětnou vazbu s MainActivity.
		// Pokud se to nepodaří, bude zaznamenáno a předáno dál chybové hlášení
        try {
            mCallback = (OnHeadlineSelectedListener) activity;
        } catch (ClassCastException e) {
            throw new ClassCastException(activity.toString()
                    + " must implement OnHeadlineSelectedListener");
        }
    }
    /** kliknuto na položku ListView */
    @Override
    public void onListItemClick(ListView l, View v, int position, long id) {
                // long id se bude hodit například při obsluze sql.databází
        
		// Upozorní - předá zprávu MainActivity.java, že uživatel 
		// klikl na položku a odešle i pozici v seznamu
                mCallback.onArticleSelected(position);
        
        
		// getListView().setItemChecked(position, true); 
		// má zajistit podbarvení 
		// - zvýraznění vybrané položky,
		// ale mi to nefungovalo, tak jsem ještě znovu přidal,
		// které je už v onStart() a už to funguje jak má
		// Možná nějaká záludnost v mém telefonu :(
		getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE);
		 
        getListView().setItemChecked(position, true);
    }
}
120

Statistics usability of mobile phones with Android – October 2011 | statistics-usability-of-mobile-phones-with-android-%e2%80%93-october-2011


Table of usability phones with Android: (Our software)












October 2011 September 2011












Samsung Galaxy S2 10,90%
Samsung Galaxy S 8,10%
Samsung Galaxy Tab 7,00%
Samsung Galaxy Mini 6,20%
HTC Desire HD 4,10%
Samsung Galaxy Ace 4,10%
Samsung Galaxy S 4,00%
Samsung Galaxy Fit 3,30%
HTC Wildfire 3,20%
SEMC Xperia X10 2,20%

























Samsung Galaxy S213.8%
Samsung Galaxy S8.5%
Samsung Galaxy Tab7.4%
Samsung Galaxy Mini5.4%
Samsung Galaxy S4.0%
HTC Desire HD3.8%
Samsung Galaxy Ace3.8%
HTC Wildfire3.2%
Samsung Galaxy Fit3.1%
SEMC Xperia X102.1%



Graph of usability Smartphone with Android - October 2011:
phones-usability-wiht-android-october-2011


Samsung Galaxy S2 vs iPhone4 - video


Samsung Galaxy S2 vs iPhone4 - browsing, gaming, apps, performance, browser, fast, against, navigation, Sygic, apk, Android, iOS





Editace: 2011-09-26 20:46:41
Počet článků v kategorii: 397
Url:spinner-combobox-dropdown-list-android-code-example

AD
11 Share
Share
Tweet