2013-06-10 2 views
2

У меня есть ListView, где я наполняющий его через String tutorialTitle1 = getResources().getString(R.string.tutorial1_title);, но для этой цели и функциональности моего приложения у меня нет выбора, кроме как использовать String-ArrayЗаполнение Listview из строки-массива

Я никогда не работал с String-Array, и мне нужна помощь в реализации каждого элемента в моем ListView. На данный момент я делаю это так

public class tutorialActivity extends Activity{ 
    String[] values; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.tutorial); 
     registerClickCallBack(); 
     ListView listView = (ListView) findViewById(R.id.tutorialList); 

     String tutorialTitle1 = getResources().getString(R.string.tutorial1_title); 
     String tutorialTitle2 = getResources().getString(R.string.tutorial2_title); 
     String tutorialTitle3 = getResources().getString(R.string.tutorial3_title); 
     String tutorialTitle4 = getResources().getString(R.string.tutorial4_title); 
     String tutorialTitle5 = getResources().getString(R.string.tutorial5_title); 
     String tutorialTitle6 = getResources().getString(R.string.tutorial6_title); 
     String tutorialTitle7 = getResources().getString(R.string.tutorial7_title); 
     String tutorialTitle8 = getResources().getString(R.string.tutorial8_title); 
     String tutorialTitle9 = getResources().getString(R.string.tutorial9_title); 
     String tutorialTitle10 = getResources().getString(R.string.tutorial10_title); 
     String tutorialTitle11 = getResources().getString(R.string.tutorial11_title); 
     String tutorialTitle12 = getResources().getString(R.string.tutorial12_title); 
     String tutorialTitle13 = getResources().getString(R.string.tutorial13_title); 
     String tutorialTitle14 = getResources().getString(R.string.tutorial14_title); 

     values= new String[] { tutorialTitle1, tutorialTitle2, tutorialTitle3, tutorialTitle4, tutorialTitle5, tutorialTitle6, tutorialTitle7, tutorialTitle8, tutorialTitle9, tutorialTitle10, tutorialTitle11, tutorialTitle12, tutorialTitle13, tutorialTitle14}; 

     ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, values); 
     listView.setAdapter(adapter); 


    } 

    private void registerClickCallBack() { 
     ListView list = (ListView) findViewById(R.id.tutorialList); 
     list.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> parent, View viewClicked,int position, long id) { 

       Intent i = new Intent(viewClicked.getContext(), tutorialContentActivity.class); 
       i.putExtra("tutorialNumber", position); 
       startActivity(i); 
      } 
     }); 
    } 
} 

Но теперь R.string.tutorial1_title больше не существует, потому что я поставил его, как

<string-array name="tutorialTitle"> 
    <item>Tutorial Content</item> 
    <item>Tutorial Content</item> 
    <item>Tutorial Content</item> 
    <item>Tutorial Content</item> 
    <item>Tutorial Content</item> 
    <item>Tutorial Content</item> 
    <item>Tutorial Content</item> 
    <item>Tutorial Content</item> 
    <item>Tutorial Content</item> 
</string-array> 

Так в основном, как я могу заполнить мое Listview со всеми пункты, которые у меня есть в моих <string-array name="tutorialTitle">

ответ

10

Позвоните getResources().getStringArray(R.array.tutorialTitle), чтобы получить String[], связанный с вашим ресурсом string-array.

+3

Чтобы иметь в виду, вы можете установить 'android: entries =" @ array/tutorialTitle "' тоже. –

Смежные вопросы