「Android/画面遷移/メニューボタンから画面遷移」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→intentに直接引数を追加) |
(→参考) |
||
(同じ利用者による、間の1版が非表示) | |||
行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); | ||
行74: | 行74: | ||
} | } | ||
} | } | ||
− | |||
− | |||
− | |||
==intentに直接引数を追加して遷移させる方法(このような方法でも遷移できる)== | ==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);