「Android/画面遷移/メニューボタンから画面遷移」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→参考) |
|||
| (同じ利用者による、間の2版が非表示) | |||
| 行6: | 行6: | ||
<<nowiki />activity android:name="SubActivity"></activity> | <<nowiki />activity android:name="SubActivity"></activity> | ||
| − | == | + | ==MainActivity.javaを編集== |
| − | package com.example. | + | package com.example.androidHelloworld; |
import android.app.Activity; | import android.app.Activity; | ||
import android.os.Bundle; | import android.os.Bundle; | ||
| 行14: | 行14: | ||
import android.view.MenuItem; | import android.view.MenuItem; | ||
| − | public class | + | public class MainActivity extends Activity { |
/** メニューID */ | /** メニューID */ | ||
private final int MENU_ID1 = Menu.FIRST; | private final int MENU_ID1 = Menu.FIRST; | ||
| 行59: | 行59: | ||
Intent intent = new Intent(); | Intent intent = new Intent(); | ||
// intent.setClassName( | // intent.setClassName( | ||
| − | // "com.example. | + | // "com.example.androidHelloworld.MainActivity", |
| − | // "com.example. | + | // "com.example.androidHelloworld.SubActivity"); |
intent.setClassName(getPackageName(), getPackageName() + ".SubActivity"); | intent.setClassName(getPackageName(), getPackageName() + ".SubActivity"); | ||
startActivity(intent); | startActivity(intent); | ||
| 行75: | 行75: | ||
} | } | ||
| − | == | + | ==intentに直接引数を追加して遷移させる方法(このような方法でも遷移できる)== |
| − | + | ||
| − | + | ||
| − | + | ||
Intent intent = new Intent(MainActivity.this, SubActivity.class); | Intent intent = new Intent(MainActivity.this, SubActivity.class); | ||
startActivity(intent); | startActivity(intent); | ||
2019年4月9日 (火) 18:18時点における最新版
目次
以下ファイルを作成する
SubActivity.java sub.xml
AndroidManifest.xmlに以下を追加
<activity android:name="SubActivity"></activity>
MainActivity.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 MainActivity 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.MainActivity",
// "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);
}
}
intentに直接引数を追加して遷移させる方法(このような方法でも遷移できる)
Intent intent = new Intent(MainActivity.this, SubActivity.class); startActivity(intent);
