2013-10-27 11 views
9

mentre scrivo nel titolo ho bisogno di aiuto qui per ottenere elementi dalla serie di stringhe e mostrarli uno ad uno nella vista del testo ho il codice che li ha ottenuti il tutto in vista elenco, ma ho bisogno di mostrare loro in modalità testo uno per uno ogni volta a caso qui il mio codice e dispiace per il mio cattivo inglese , grazie per aiuto comunque ...android: ottieni elementi dalla serie di stringhe e mostrali uno ad uno nella vista testo

public class MainActivity extends ListActivity { 

String[] mTestArray; 

    /** Called when the activity is first created. */ 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 

     // Create an ArrayAdapter that will contain all list items 
     ArrayAdapter<String> adapter; 

     mTestArray = getResources().getStringArray(R.array.planets_array);  

     /* Assign the name array to that adapter and 
     also choose a simple layout for the list items */ 
     adapter = new ArrayAdapter<String>(
       this, 
       android.R.layout.simple_list_item_1, 
       mTestArray); 

     // Assign the adapter to this ListActivity 
     setListAdapter(adapter); 
    } 
} 

file XML:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context=".MainActivity" > 

    <TextView 

     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:layout_centerVertical="true" 
     android:text="@array/planets_array" 
/> 
</RelativeLayout> 

e file array di stringhe:

<?xml version="1.0" encoding="utf-8"?> 

<resources> 
    <string-array name="planets_array"> 
     <item>Mercury</item> 
     <item>Venus</item> 
     <item>Earth</item> 
     <item>Mars</item> 
    </string-array> 
</resources> 
+0

vuoi che vengano visualizzati in modo casuale o in sequenza? –

+0

Pls. controlla i miei ans. e se la tua domanda è risposta pls. accetta gli ans. :) – lokoko

+0

Non vuoi un listView, giusto? Solo una textView per mostrare i valori dell'array in modo casuale in esso? – Devrim

risposta

19

Ok, con commenti ho capito di cosa hai bisogno e ho modificato la mia risposta per quello. Si desidera mostrare i valori dell'array in una vista testo casualmente.

Usa questa attività:

public class MainActivity extends Activity { 

    String[] mTestArray; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.sample); 

     mTestArray = getResources().getStringArray(R.array.planets_array);  

    } 

    @Override 
    protected void onResume() { 
     super.onResume(); 
     updateTextView(); 
    } 

    private void updateTextView() { 
     TextView textView = (TextView)findViewById(R.id.randomTextView); 
     Random random = new Random(); 

     int maxIndex = mTestArray.length; 
     int generatedIndex = random.nextInt(maxIndex); 

     textView.setText(mTestArray[generatedIndex]); 
    } 
} 

Mettere questo layout sotto res/cartella di layout e il nome sample.xml.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context=".MainActivity" > 

    <TextView 
      android:id="@+id/randomTextView" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerHorizontal="true" 
      android:layout_centerVertical="true"/> 
</RelativeLayout> 
+0

grazie per l'aiuto, sì, mi piacerebbe farlo mostrare un valore casuale ogni volta che l'app inizia e quando l'app esegue di nuovo dà un altro valore casuale spero tu capisca cosa sia –

+0

Quindi non vuoi un listView? – Devrim

+0

no non ho bisogno di visualizzare l'elenco tutto ciò di cui ho bisogno Text View mostra 1 valore casuale da array di stringhe ogni volta che eseguo questa app .. grazie per la risposta :) –

Problemi correlati