JavascriptProva

lunedì 27 giugno 2016

Gestione dello spinner per la selezione degli intervalli di tempo nella mia App

Ho incontrato più ostacoli io oggi di un saltatore a ostacoli: caterve di argomenti che devo ancora imparare, e che vorrei cominciare a digerire appena possibile.

Per il momento, cerchiamo di agire per il meglio con i mezzi che conosco.
Lo Spinner.
Non mi è assolutamente riuscito di popolarlo per mezzo di files XML, e lo faccio da codice java, fanculo!
Ci tornerò, sicuramente.
Ricordare che devo imparare come l'acqua, non come un mattone.
La cosa è fondamentale!

Ripasso di ArrayList.
   List lista=new ArrayList();
   lista.add(1);
   lista.add(2);
   lista.add(3);
E adesso devo popolare lo Spinner:
Ecco tutto il codice. Lo riscrivo per esercitarmi...

public class MainActivity extends Activity {

 Spinner spinner;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  spinner=(Spinner)findViewById(R.id.spinner);
  List lista=new ArrayList();
  lista.add(1);
  lista.add(2);
  lista.add(3);
  lista.add(1);
  lista.add(2);
  lista.add(3);
  lista.add(1);
  lista.add(2);
  lista.add(3);
  ArrayAdapter adapter=new ArrayAdapter(this,android.R.layout.simple_spinner_dropdown_item,lista);
  spinner.setAdapter(adapter);
  

 }
}
E funziona.
Ho trovato un modo di modificare le caratteristiche dello spinner.
Vediamo se funziona.
Devo creare un file XML a parte per l'item.
<?xml version="1.0" encoding="utf-8"?>
<TextView  
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"
    android:textSize="10sp"
    android:gravity="left"  
    android:textColor="#0000FF"         
    android:padding="5dip"
    /> 
E l'adapter lo modifico in questo modo:
  ArrayAdapter adapter=new ArrayAdapter(this,R.layout.testo,lista);
  spinner.setAdapter(adapter);


Ora sperimento un formato per la mia applicazione...

Fatto.
Poi ho scritto anche il codice per ottenere il dato dell'elemento dello Spinner che ho cliccato:
public class MainActivity extends Activity {

 Spinner spinner;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  spinner=(Spinner)findViewById(R.id.spinner);
  List lista=new ArrayList();
  lista.add(1);
  lista.add(2);
  lista.add(3);
  lista.add(1);
  lista.add(2);
  lista.add(3);
  lista.add(1);
  lista.add(2);
  lista.add(3);
  ArrayAdapter adapter=new ArrayAdapter(this,R.layout.testo,lista);
  spinner.setAdapter(adapter);
  
  

  spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

   @Override
   public void onItemSelected(AdapterView parent, View view,
     int position, long id) {
    int numero=(Integer) spinner.getSelectedItem();
    Log.d("SPINNER",""+numero);
    
   }

   @Override
   public void onNothingSelected(AdapterView parent) {
    // TODO Auto-generated method stub
    
   }
  });

 }
}
E funziona.

Nessun commento:

Posta un commento