我是新來的android,我只是無法弄清楚如何使操作欄以我想要的方式工作。我想單擊我的操作欄上的一個項目,該項目在setContentView與不同的XML文件之間進行更改。如何使用android操作欄更改內容查看
我有以下XML文件: activity_main_vertical_view.xml activity_main.xml中
(請注意,這是不是這樣我就可以在橫向模式下看到它,我知道做一個名爲層 - 文件夾我希望我的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);
}
}
看起來我一定錯過了Menu的文檔並直接進入了操作欄。爲noobs添加這個鏈接,他需要更好的回答。感謝CommonsWare http://stackoverflow.com/questions/7479992/handling-a-menu-item-click-event-android –