From f48ad7f90ad1d494299b08f5e1866ccb63ee7b2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kjetil=20=C3=98rbekk?= Date: Fri, 2 Mar 2012 15:23:27 +0100 Subject: Change UI of main view. Change from: Empty screen with menu used to pick activity. To: ListView of available choices. User picks directly from main screen. --- same-android/res/layout/main.xml | 11 ++-- same-android/res/menu/main_menu.xml | 22 ------- .../main/java/com/orbekk/same/MainActivity.java | 73 +++++++++++++--------- 3 files changed, 48 insertions(+), 58 deletions(-) delete mode 100644 same-android/res/menu/main_menu.xml (limited to 'same-android') diff --git a/same-android/res/layout/main.xml b/same-android/res/layout/main.xml index f6f0090..77e35b2 100644 --- a/same-android/res/layout/main.xml +++ b/same-android/res/layout/main.xml @@ -4,11 +4,10 @@ android:layout_height="fill_parent" android:orientation="vertical" > - + + \ No newline at end of file diff --git a/same-android/res/menu/main_menu.xml b/same-android/res/menu/main_menu.xml deleted file mode 100644 index 342ca60..0000000 --- a/same-android/res/menu/main_menu.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/same-android/src/main/java/com/orbekk/same/MainActivity.java b/same-android/src/main/java/com/orbekk/same/MainActivity.java index 5d76c1e..e9f7498 100644 --- a/same-android/src/main/java/com/orbekk/same/MainActivity.java +++ b/same-android/src/main/java/com/orbekk/same/MainActivity.java @@ -1,51 +1,64 @@ package com.orbekk.same; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.orbekk.same.android.benchmark.RepeatedSetVariableActivity; - import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; +import android.view.View; +import android.widget.Adapter; +import android.widget.AdapterView; +import android.widget.ArrayAdapter; +import android.widget.ListView; + +import com.orbekk.same.android.benchmark.RepeatedSetVariableActivity; public class MainActivity extends Activity { Logger logger = LoggerFactory.getLogger(getClass()); - @Override public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.main); + public final static Map> activities; + static { + activities = new HashMap>(); + activities.put("Same settings", SameControllerActivity.class); + activities.put("Variable test", VariableTestActivity.class); + activities.put("State monitor", StateViewerActivity.class); + activities.put("Graphics demo", GraphicsActivity.class); + activities.put("Benchmark", RepeatedSetVariableActivity.class); } - @Override public boolean onCreateOptionsMenu(Menu menu) { - MenuInflater inflater = getMenuInflater(); - inflater.inflate(R.menu.main_menu, menu); - return true; + public final static List activityList = + new ArrayList(activities.keySet()); + + private AdapterView.OnItemClickListener activityListClickListener = + new AdapterView.OnItemClickListener() { + @Override + public void onItemClick(AdapterView unused_parent, View unused_view, + int position, long id) { + String activityName = activityList.get(position); + Class activity = activities.get(activityName); + startActivity(new Intent(MainActivity.this, activity)); + } + }; + + private void createActivityList() { + ListView list = (ListView)findViewById(R.id.activities_menu); + list.setAdapter(new ArrayAdapter( + this, R.layout.list_text_item, activityList)); + list.setOnItemClickListener(activityListClickListener); } - @Override public boolean onOptionsItemSelected(MenuItem item) { - int id = item.getItemId(); - switch (id) { - case R.id.same_settings: - startActivity(new Intent(this, SameControllerActivity.class)); - break; - case R.id.variable_test: - startActivity(new Intent(this, VariableTestActivity.class)); - break; - case R.id.state_viewer: - startActivity(new Intent(this, StateViewerActivity.class)); - break; - case R.id.graphics_demo: - startActivity(new Intent(this, GraphicsActivity.class)); - break; - case R.id.benchmark: - startActivity(new Intent(this, RepeatedSetVariableActivity.class)); - default: - logger.error("Unknown menu entry: {}", item); - } - return true; + @Override public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.main); + createActivityList(); } } -- cgit v1.2.3