「Android/画面遷移/メニューボタンから画面遷移」の版間の差分
提供: 初心者エンジニアの簡易メモ
(ページの作成:「==以下ファイルを作成する== androidHelloworldSub.java sub.xml ==AndroidManifest.xmlに以下を追加== <<nowiki />activity android:name="AndroidHelloworldS...」) |
(→参考) |
||
(同じ利用者による、間の3版が非表示) | |||
行1: | 行1: | ||
==以下ファイルを作成する== | ==以下ファイルを作成する== | ||
− | + | SubActivity.java | |
sub.xml | sub.xml | ||
==AndroidManifest.xmlに以下を追加== | ==AndroidManifest.xmlに以下を追加== | ||
− | <<nowiki />activity android:name=" | + | <<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() + ". | + | intent.setClassName(getPackageName(), getPackageName() + ".SubActivity"); |
startActivity(intent); | startActivity(intent); | ||
return true; | return true; | ||
行75: | 行75: | ||
} | } | ||
− | == | + | ==intentに直接引数を追加して遷移させる方法(このような方法でも遷移できる)== |
− | + | Intent intent = new Intent(MainActivity.this, SubActivity.class); | |
+ | 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);