Заполните listView из строковых ресурсов в Android

1

Я пытаюсь заполнить список из строковых ресурсов, определенных в XML файле строки в Android. Я не получаю никаких ошибок, но когда я запускаю приложение, он просит меня закрыть. Я получаю следующую ошибку в log cat manager 03-26 01: 04: 42.903: E/dalvikvm (205): Не удается открыть файл трассировки стека '/data/anr/traces.txt': разрешение отклонено

Вот код моей программы

public class MainMenu extends Activity {
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.menu);

    /*ListView menu = (ListView) findViewById(R.id.ListView_Menu);

    String[] items = { getResources().getString(R.string.today_bd),getResources().getString(R.string.Add_bd),
            getResources().getString(R.string.msg_tmplate),getResources().getString(R.string.credits),
            getResources().getString(R.string.help)
    };

    ArrayAdapter<String> adapt = new ArrayAdapter<String>(this,R.layout.menu,items);

    menu.setAdapter(adapt);*/
    ListView menuList = (ListView) findViewById(R.id.ListView_Menu);
    String[] items = { getResources().getString(R.string.today_bd),
            getResources().getString(R.string.add_bd),
            getResources().getString(R.string.msg_tmplate),
            getResources().getString(R.string.credits),
            getResources().getString(R.string.help)
            };

    ArrayAdapter<String> adapt = new ArrayAdapter<String>(this, R.layout.menu, items);
    menuList.setAdapter(adapt);
    menuList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View itemClicked, int position, long id) {

            TextView textView = (TextView) itemClicked;
            String strText = textView.getText().toString();
            if (strText.equalsIgnoreCase(getResources().getString(R.string.today_bd))) {

                //startActivity(new Intent(QuizMenuActivity.this, QuizGameActivity.class));
            } else if (strText.equalsIgnoreCase(getResources().getString(R.string.add_bd))) {
                // Launch the Help Activity
                //startActivity(new Intent(QuizMenuActivity.this, QuizHelpActivity.class));
            } else if (strText.equalsIgnoreCase(getResources().getString(R.string.msg_tmplate))) {
                // Launch the Settings Activity
                //startActivity(new Intent(QuizMenuActivity.this, QuizSettingsActivity.class));
            } else if (strText.equalsIgnoreCase(getResources().getString(R.string.credits))) {
                // Launch the Scores Activity
               // startActivity(new Intent(QuizMenuActivity.this, QuizScoresActivity.class));
            }
            else if (strText.equalsIgnoreCase(getResources().getString(R.string.help))) {
                // Launch the Scores Activity
               // startActivity(new Intent(QuizMenuActivity.this, QuizScoresActivity.class));
            }
        }


        //public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                //long arg3) {
            // TODO Auto-generated method stub

        //}
    });




}

}

Пожалуйста помоги!!!

  • 0
    в AndroidMenifest вы добавили указанное разрешение на чтение / запись внешних файлов?
  • 0
    попробуйте adb logcat чтобы получить трассировку стека
Показать ещё 1 комментарий
Теги:
android-listview

2 ответа

2

конструктор ArrayAdapter который вы вызываете, принимает три аргумента: у вас есть первый и третий правый, а второй - это макет элемента.

textViewResourceId Идентификатор ресурса для файла макета, содержащего TextView для использования при создании экземпляров.

попробуйте использовать android.R.layout.simple_list_item_1 и это должно помочь...

ArrayAdapter<String> adapt = 
  new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, items);

ref: javadoc

  • 0
    Большое спасибо, сэр .. Это работает как шарм ..
  • 0
    Попробуйте поднять голос, если это работает для вас
0

Я попытался с приведенным выше методом и, похоже, не работал. Вот мой файл menu.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:baselineAligned="false"
android:orientation="vertical" >

<RelativeLayout
    android:id="@+id/relativeLayout1"
    android:layout_width="fill_parent"
    android:layout_height="50dip"
    android:layout_weight="0.00" >

     <TextView
        android:id="@+id/TextView01"
        android:layout_height="wrap_content"
        android:text="@string/main_menu"
        android:textSize="@dimen/screen_title_size"
        android:shadowDx="0"
        android:shadowDy="0"
        android:shadowRadius="10"
        android:layout_width="wrap_content"
        android:layout_gravity="fill_horizontal|center"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:shadowColor="@android:color/white"
        android:textColor="@color/title_color"></TextView>
</RelativeLayout>

<ListView
    android:id="@+id/listView1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="0.00" >
</ListView>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню