「Android/画面遷移/メニューボタンから画面遷移」の版間の差分
提供: 初心者エンジニアの簡易メモ
(ページの作成:「==以下ファイルを作成する== androidHelloworldSub.java sub.xml ==AndroidManifest.xmlに以下を追加== <<nowiki />activity android:name="AndroidHelloworldS...」) |
|||
| 行1: | 行1: | ||
==以下ファイルを作成する== | ==以下ファイルを作成する== | ||
| − | + | SubActivity.java | |
sub.xml | sub.xml | ||
==AndroidManifest.xmlに以下を追加== | ==AndroidManifest.xmlに以下を追加== | ||
| − | <<nowiki />activity android:name=" | + | <<nowiki />activity android:name="SubActivity"></activity> |
==AndroidHelloworld.javaを編集== | ==AndroidHelloworld.javaを編集== | ||
| 行60: | 行60: | ||
// intent.setClassName( | // intent.setClassName( | ||
// "com.example.AndroidHelloworld", | // "com.example.AndroidHelloworld", | ||
| − | // "com.example.AndroidHelloworld. | + | // "com.example.AndroidHelloworld.SubActivity"); |
| − | intent.setClassName(getPackageName(), getPackageName() + ". | + | intent.setClassName(getPackageName(), getPackageName() + ".SubActivity"); |
startActivity(intent); | startActivity(intent); | ||
return true; | return true; | ||
| 行77: | 行77: | ||
==参考== | ==参考== | ||
http://www.techfirm.co.jp/lab/android/transition.html | http://www.techfirm.co.jp/lab/android/transition.html | ||
| + | |||
| + | ==intentに直接引数を追加== | ||
| + | Intent intent = new Intent(MainActivity.this, SubActivity.class); | ||
| + | startActivity(intent); | ||
2016年12月12日 (月) 11:44時点における版
以下ファイルを作成する
SubActivity.java sub.xml
AndroidManifest.xmlに以下を追加
<activity android:name="SubActivity"></activity>
AndroidHelloworld.javaを編集
package com.example.AndroidHelloworld;
import android.app.Activity;
import android.os.Bundle;
import android.content.Intent;
import android.view.Menu;
import android.view.MenuItem;
public class AndroidHelloworld extends Activity {
/** メニューID */
private final int MENU_ID1 = Menu.FIRST;
private final int MENU_ID2 = Menu.FIRST + 1;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
/**
* メニューを作成する
*/
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
menu.add(0,
MENU_ID1,
0,
getString(R.string.menu_next)).setIcon(android.R.drawable.ic_menu_crop);
menu.add(0,
MENU_ID2,
1,
getString(R.string.menu_finish)).setIcon(android.R.drawable.ic_menu_close_clear_cancel);
return true;
}
/**
* メニューボタン押下時の処理
*/
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
super.onPrepareOptionsMenu(menu);
return true;
}
/**
* メニューを選択時の処理
*/
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case MENU_ID1:
// 次の画面に遷移させる
Intent intent = new Intent();
// intent.setClassName(
// "com.example.AndroidHelloworld",
// "com.example.AndroidHelloworld.SubActivity");
intent.setClassName(getPackageName(), getPackageName() + ".SubActivity");
startActivity(intent);
return true;
case MENU_ID2:
// Activity終了
finish();
return true;
default:
break;
}
return super.onOptionsItemSelected(item);
}
}
参考
http://www.techfirm.co.jp/lab/android/transition.html
intentに直接引数を追加
Intent intent = new Intent(MainActivity.this, SubActivity.class); startActivity(intent);
