Справка по пользовательскому интерфейсу вкладки Android

#android

Вопрос:

Это мой код для моего основного, основной xml не распознается.. Я все сделал чисто. кроме того, моя папка для рисования не работает. Я создал папку в своем res под названием «drawable» и добавил свой xml-файл с моим изображением и моими значками, но он ее не находит.

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

 // Drawable TestImage = getDrawable(R.drawable.ic_tab_test);
    Resources res = getResources(); // Resource object to get Drawables
    TabHost tabHost = getTabHost();  // The activity TabHost
    TabHost.TabSpec spec;  // Resusable TabSpec for each tab
    Intent intent;  // Reusable Intent for each tab

    // Create an Intent to launch an Activity for the tab (to be reused)
    intent = new Intent().setClass(this, TestActivity.class);

    // Initialize a TabSpec for each tab and add it to the TabHost
    spec = tabHost.newTabSpec("test").setIndicator("test",
                      res.getDrawable(R.drawable.ic_tab_test))
                  .setContent(intent);
    tabHost.addTab(spec);

    // Do the same for the other tabs
    intent = new Intent().setClass(this, TestActivity2.class);
    spec = tabHost.newTabSpec("test2").setIndicator("test2",
                      res.getDrawable(R.drawable.ic_tab_albums))
                  .setContent(intent);
    tabHost.addTab(spec);

    intent = new Intent().setClass(this, TestActivity3.class);
    spec = tabHost.newTabSpec("test3").setIndicator("test3",
                      res.getDrawable(R.drawable.ic_tab_songs))
                  .setContent(intent);
    tabHost.addTab(spec);

    tabHost.setCurrentTab(2);
}
 

}

Вот мой основной XML-файл

 <?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/tabhost"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:padding="5dp">
        <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />
        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:padding="5dp" />
    </LinearLayout>
</TabHost>
 

Кажется, я не могу понять, чем вызвана ошибка? помогите мне, пожалуйста. Я только учусь этому

Ответ №1:

Это может быть связано со многими вещами. Обычно, когда вы создаете проект Android, папка для рисования создается автоматически. Вы действительно создали новый проект для Android (по сравнению с новым проектом java)?

Я скопировал и вставил ваш код, и он работает на меня. Поэтому, я думаю, создайте новый проект для ANDROID и повторите попытку…

Кроме того, чтобы убедиться, что мы находимся на одной странице, ваши чертежи помещаются в папку для рисования, а ваш макет (main.xml) должно быть в папке с макетом

 res
    drawable
       ic_images.png
    layout
       main.xml
 

Комментарии:

1. Энтреко все объяснил правильно. Попробуйте очистить свой проект перед его запуском.