Intent画面遷移
他Activityへの画面遷移(がめんせんい)にフォーカスを当ててソースを記載してみました。
ボタンがあって画面が切り替われば、よりアプリらしくなってきます。
そのへんも記載します。
画面遷移 Main画面 |
画面遷移 遷移先A |
public class MainActivity extends Activity implements OnClickListener{ private Intent intent; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //getWindow().requestFeature(Window.FEATURE_ACTION_BAR); setContentView(R.layout.activity_main); if(intent != null){ String str = intent.getStringExtra("key"); TextView textview = (TextView)findViewById(R.id.textView1); textview.setText(str); } Button _button_main= (Button)findViewById(R.id.button_main); _button_main.setOnClickListener(this); Button _button_a = (Button)findViewById(R.id.button_a); _button_a.setOnClickListener(this); Button _button_b = (Button)findViewById(R.id.button_b); _button_b.setOnClickListener(this); Button _button_c = (Button)findViewById(R.id.button_c); _button_c.setOnClickListener(this); } @Override public void onClick(View arg0) { // TODO 自動生成されたメソッド・スタブ switch(arg0.getId()){ case R.id.button_main: // intent = new Intent(); // intent.setClass(MainActivity.this,SubActivity.class); // intent.putExtra("key", "現在のActivity:A");//putExtra(key,送信したいtext) // // 元々のアクティビティを破棄するなら // finish(); break; case R.id.button_a: intent = new Intent(); intent.setClass(this,Activity_a.class); intent.putExtra("key", "現在のActivity:A");//putExtra(key,送信したいtext) //元々のアクティビティを破棄するなら finish(); break; case R.id.button_b: intent = new Intent(); intent.setClass(this,Activity_b.class); intent.putExtra("key", "現在のActivity:B");//putExtra(key,送信したいtext) //元々のアクティビティを破棄するなら finish(); break; case R.id.button_c: intent = new Intent(); intent.setClass(this,Activity_c.class); intent.putExtra("key", "現在のActivity:C");//putExtra(key,送信したいtext) //元々のアクティビティを破棄するなら finish(); break; } if (intent != null){ startActivityForResult(intent, 0);//開始 } } }
Activity_a.java
public class Activity_a extends Activity implements OnClickListener{ private Intent intent; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //getWindow().requestFeature(Window.FEATURE_ACTION_BAR); setContentView(R.layout.activity_main); intent = getIntent(); if(intent != null){ String str = intent.getStringExtra("key"); TextView textview = (TextView)findViewById(R.id.textView1); textview.setText(str); } Button _button_main= (Button)findViewById(R.id.button_main); _button_main.setOnClickListener(this); Button _button_a = (Button)findViewById(R.id.button_a); _button_a.setOnClickListener(this); Button _button_b = (Button)findViewById(R.id.button_b); _button_b.setOnClickListener(this); Button _button_c = (Button)findViewById(R.id.button_c); _button_c.setOnClickListener(this); } @Override public void onClick(View arg0) { // TODO 自動生成されたメソッド・スタブ switch(arg0.getId()){ case R.id.button_main: intent = new Intent(); intent.setClass(this,MainActivity.class); intent.putExtra("key", "現在のActivity:main");//putExtra(key,送信したいtext) //元々のアクティビティを破棄するなら finish(); break; case R.id.button_a: // intent = new Intent(); // intent.setClass(this,Activity_a.class); // intent.putExtra("key", "現在のActivity:A");//putExtra(key,送信したいtext) // //元々のアクティビティを破棄するなら // finish(); break; case R.id.button_b: intent = new Intent(); intent.setClass(this,Activity_b.class); intent.putExtra("key", "現在のActivity:B");//putExtra(key,送信したいtext) //元々のアクティビティを破棄するなら finish(); break; case R.id.button_c: intent = new Intent(); intent.setClass(this,Activity_c.class); intent.putExtra("key", "現在のActivity:C");//putExtra(key,送信したいtext) //元々のアクティビティを破棄するなら finish(); break; } if (intent != null){ startActivityForResult(intent, 0);//開始 } } }
Activity_b.java
public class Activity_b extends Activity implements OnClickListener{ private Intent intent; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //getWindow().requestFeature(Window.FEATURE_ACTION_BAR); setContentView(R.layout.activity_main); intent = getIntent(); if(intent != null){ String str = intent.getStringExtra("key"); TextView textview = (TextView)findViewById(R.id.textView1); textview.setText(str); } Button _button_main= (Button)findViewById(R.id.button_main); _button_main.setOnClickListener(this); Button _button_a = (Button)findViewById(R.id.button_a); _button_a.setOnClickListener(this); Button _button_b = (Button)findViewById(R.id.button_b); _button_b.setOnClickListener(this); Button _button_c = (Button)findViewById(R.id.button_c); _button_c.setOnClickListener(this); } @Override public void onClick(View arg0) { // TODO 自動生成されたメソッド・スタブ switch(arg0.getId()){ case R.id.button_main: intent = new Intent(); intent.setClass(this,MainActivity.class); intent.putExtra("key", "現在のActivity:main");//putExtra(key,送信したいtext) //元々のアクティビティを破棄するなら finish(); break; case R.id.button_a: intent = new Intent(); intent.setClass(this,Activity_a.class); intent.putExtra("key", "現在のActivity:A");//putExtra(key,送信したいtext) //元々のアクティビティを破棄するなら finish(); break; case R.id.button_b: // intent = new Intent(); // intent.setClass(this,Activity_b.class); // intent.putExtra("key", "現在のActivity:B");//putExtra(key,送信したいtext) // //元々のアクティビティを破棄するなら // finish(); break; case R.id.button_c: intent = new Intent(); intent.setClass(this,Activity_c.class); intent.putExtra("key", "現在のActivity:C");//putExtra(key,送信したいtext) //元々のアクティビティを破棄するなら finish(); break; } if (intent != null){ startActivityForResult(intent, 0);//開始 } } }
Activity_c.java
public class Activity_c extends Activity implements OnClickListener{ private Intent intent; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //getWindow().requestFeature(Window.FEATURE_ACTION_BAR); setContentView(R.layout.activity_main); intent = getIntent(); if(intent != null){ String str = intent.getStringExtra("key"); TextView textview = (TextView)findViewById(R.id.textView1); textview.setText(str); } Button _button_main= (Button)findViewById(R.id.button_main); _button_main.setOnClickListener(this); Button _button_a = (Button)findViewById(R.id.button_a); _button_a.setOnClickListener(this); Button _button_b = (Button)findViewById(R.id.button_b); _button_b.setOnClickListener(this); Button _button_c = (Button)findViewById(R.id.button_c); _button_c.setOnClickListener(this); } @Override public void onClick(View arg0) { // TODO 自動生成されたメソッド・スタブ switch(arg0.getId()){ case R.id.button_main: intent = new Intent(); intent.setClass(this,MainActivity.class); intent.putExtra("key", "現在のActivity:main");//putExtra(key,送信したいtext) //元々のアクティビティを破棄するなら finish(); break; case R.id.button_a: intent = new Intent(); intent.setClass(this,Activity_a.class); intent.putExtra("key", "現在のActivity:A");//putExtra(key,送信したいtext) //元々のアクティビティを破棄するなら finish(); break; case R.id.button_b: intent = new Intent(); intent.setClass(this,Activity_b.class); intent.putExtra("key", "現在のActivity:B");//putExtra(key,送信したいtext) //元々のアクティビティを破棄するなら finish(); break; case R.id.button_c: // intent = new Intent(); // intent.setClass(this,Activity_c.class); // intent.putExtra("key", "現在のActivity:C");//putExtra(key,送信したいtext) // //元々のアクティビティを破棄するなら // finish(); break; } if (intent != null){ startActivityForResult(intent, 0);//開始 } } }
res/layout/activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:gravity="center" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="現在のActivity:main" android:textAppearance="?android:attr/textAppearanceLarge" /> <Button android:id="@+id/button_main" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Activity_Main" /> <Button android:id="@+id/button_a" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Activity_A" /> <Button android:id="@+id/button_b" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Activity_B" /> <Button android:id="@+id/button_c" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Activity_C" /> </LinearLayout>
res/AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="sample.helloworld" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="sample.helloworld.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <!-- 画面遷移でActivityを追加する場合は必ずマニフェストにも追加 --> <activity android:name=".Activity_a"></activity> <activity android:name=".Activity_b"></activity> <activity android:name=".Activity_c"></activity> </application> </manifest>
0 件のコメント:
コメントを投稿