MainActivityにListViewを表示。
リストを選択すると画面A(SubActivity_A)、画面B(SubActivity_B)に遷移する。
画面A、BにはTextViewとButtonを表示。
TextViewにはMianActivityから受け取ったデータを表示。
Button押下でアクティビティ終了。
MainActivity.java
package lesson.studyandroid;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ListView list = (ListView) findViewById(R.id.listViewMain);
String[] item01 = getResources().getStringArray(R.array.array01);
final ArrayAdapter adapter = new ArrayAdapter(this,
android.R.layout.simple_list_item_1, item01);
list.setAdapter(adapter);
// リスト項目がクリックされた時の処理
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView parent, View view, int position, long id) {
String strData = adapter.getItem(position);
Intent intent = new Intent();
switch (position) {
case 0:
intent.setClass(MainActivity.this, SubActivity_A.class);
break;
case 1:
intent.setClass(MainActivity.this, SubActivity_B.class);
break;
}
intent.putExtra("SELECTED_DATA", strData);
startActivity(intent);
}
});
}
}
あれ?<String>の表示がおかしい。。。ArrayAdapter<string>ではなくArrayAdapter<String>です。勝手に</string></string>も追加表示されている。。。;
SubActivity_A.java
package lesson.studyandroid;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class SubActivity_A extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
String str = "";
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_a);
Bundle extras = getIntent().getExtras();
if (extras != null) {
str = extras.getString("SELECTED_DATA");
}
TextView txtView = (TextView)findViewById(R.id.textView1);
txtView.setText(str);
Button button = (Button) findViewById(R.id.button1);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish(); // アクティビティ終了
}
});
}
}
SubActivity_B.java
package lesson.studyandroid;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class SubActivity_B extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
String str = "";
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_b);
Bundle extras = getIntent().getExtras();
if (extras != null) {
str = extras.getString("SELECTED_DATA");
}
TextView txtView = (TextView)findViewById(R.id.textView2);
txtView.setText(str);
Button button = (Button) findViewById(R.id.button2);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish(); // アクティビティ終了
}
});
}
}
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:orientation="vertical">
<ListView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/listViewMain"
android:nestedScrollingEnabled="false" />
</LinearLayout>
activity_a.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView1" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btn_a"
android:id="@+id/button1" />
</LinearLayout>
activity_b.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView2" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btn_b"
android:id="@+id/button2" />
</LinearLayout>
AndroidMainfest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="lesson.studyandroid" >
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".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 android:name=".SubActivity_A"
android:label="@string/title_activity_a"></activity>
<activity android:name=".SubActivity_B"
android:label="@string/title_activity_b"></activity>
</application>
</manifest>
string.xml
<resources>
<string name="app_name">StudyAndroid</string>
<string name="action_settings">setting</string>
<string-array name="array01">
<item>画面A</item>
<item>画面B</item>
</string-array>
<string name="taitle_activity_a">SubActivity A</string>
<string name="title_activity_b">SubActivity B</string>
<string name="btn_a">画面Aを閉じる</string>
<string name="btn_b">画面Bを閉じる</string>
</resources>



0 件のコメント:
コメントを投稿