Ответ 1
Скажите, что ваш новый XML файл foo.xml
:
- Поместите файл
foo.xml
в каталогres/layout
. - В вашем новом классе используйте
setContentView(R.layout.foo);
- Укажите новый класс в файле манифеста .
См. также раздел объявление макета.
В моем основном представлении у меня есть:
public class PlayersActivity extends Activity {
ViewFlipper flipper;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.playercontainer);
flipper = (ViewFlipper) findViewById(R.id.flipper);
}
}
с этим представлением:
<ViewFlipper xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/flipper"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<include android:id="@+id/first" layout="@layout/first" />
<include android:id="@+id/second" layout="@layout/playerdetailsview" />
</ViewFlipper>
Он отображает первое представление правильно, но я хочу, чтобы он был подключен к классу java, поэтому я создал класс FirstActivity, где я могу контролировать все мои компоненты в первом представлении но как я могу прикрепить макет first.xml с классом Java FirstActivity?
Скажите, что ваш новый XML файл foo.xml
:
foo.xml
в каталог res/layout
.setContentView(R.layout.foo);
См. также раздел объявление макета.
1) Создайте xml файл (скажем foo.xml
).
2) Поместите foo.xml
в каталог res/layout
.
3) Отредактируйте foo.xml
и поместите некоторый код макета android и сохраните его. например.
<?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:orientation="vertical" >
<ViewFlipper android:id="@+id/viewFlipper1"
android:layout_width="match_parent"
android:layout_height="wrap_content"></ViewFlipper>
</LinearLayout>
4) В новом классе активности поставьте
setContentView(R.layout.foo);
Для создания действия см. этот ответ
Я думаю, проблема с вашим xml файлом заключается в том, что вы не указали какой-либо макет для этой операции.
Не так сложно связать 2 макета просто:
@Override
public void onClick(View args0) {
setContentView(R.layout.aardelayout);
}
Измените имя от FirstActivity на firstactivity. Макет не принимает колпачки, у меня была та же проблема.