我是 android 新手,我只是不知道如何使操作栏按我想要的方式工作。我想单击我的操作栏上的一个项目,该项目在 setContentView 到不同的 XML 文件之间发生变化。
我有以下 XML 文件:activity_main_vertical_view.xml activity_main.xml
(请注意,这不是让我可以在横向模式下看到它,我知道创建一个名为 layer-land 的文件夹。我希望我的 xml 文件在纵向模式下可以水平查看,这就是我试图改变的原因XML)。
我的操作栏中有一个“更改视图”项目,我想在使用它时切换 XML。但是它不起作用。我究竟做错了什么?
我有 2 个类: MainActivity.java VerticalView.java
我的 Manifest.xml 有以下关于 VerticalView 的代码
<activity
android:name=".VerticalView"
android:label="@string/title_activity_vertical_view" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.calendar.activity_main" />
</activity>
我的 activity_main.xml 菜单具有以下代码:
<item
android:id="@+id/change_view"
android:onClick="changeView"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/change_view" >
</item>
我的 MainActivity.java 有以下代码:
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void changeView(View view) {
Intent intent = new Intent(view.getContext(), VerticalView.class);
startActivity(intent);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
最后,我的 VerticalView.java 有以下代码:
public class VerticalView extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_vertical_view);
}
}