import android.support.wear.widget.WearableLinearLayoutManager;
import android.support.wear.widget.WearableRecyclerView;
import android.support.wear.widget.drawer.WearableActionDrawerView;
+import android.support.wear.widget.drawer.WearableNavigationDrawerView;
import android.support.wearable.activity.WearableActivity;
import android.util.Log;
import android.view.MenuItem;
*
*
*/
-public class DetailActivity extends WearableActivity implements RecordDetailSetup.IDatabaseReadyNotify, MenuItem.OnMenuItemClickListener, DataEditDialog.Callback, CreateModelData.IEditedModelDataCallback
+public class DetailActivity extends WearableActivity implements RecordDetailSetup.IDatabaseReadyNotify, MenuItem.OnMenuItemClickListener, DataEditDialog.Callback, CreateModelData.IEditedModelDataCallback, DetailSelectionMenuAdapter.ISelectedMenu
{
private final String TAG = toString();
public static final String INTENT_EXTRA_DATA_ID = "Detail.dataId";
try
{
+ WearableNavigationDrawerView naviView = findViewById(R.id.top_navigation_drawer);
+ DetailSelectionMenuAdapter menuAdapter = new DetailSelectionMenuAdapter(this, this);
+ naviView.setAdapter(menuAdapter);
+ naviView.addOnItemSelectedListener(menuAdapter);
+
WearableRecyclerView view = findViewById(R.id.recycler_detail_view);
detailAdapter = new RecordDetailAdapter();
WearableLinearLayoutManager layoutManager = new WearableLinearLayoutManager(this);
{
Log.v(TAG, "onMenuItemClick(): " + item);
- boolean ret = false;
final int itemId = item.getItemId();
+ try
+ {
+ actionDrawerView.getController().closeDrawer();
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ return (itemSelected(itemId));
+ }
+
+ private boolean itemSelected(int itemId)
+ {
+ boolean ret = false;
String toastMessage = "";
switch (itemId)
{
dialog.show(R.drawable.ic_android_black_24dp, "", this);
ret = true;
break;
+
case R.id.menu_create_model:
CreateModelDataDialog dialog2 = new CreateModelDataDialog(this);
dialog2.show(true, getString(R.string.information_time_picker), 0, setupper.getCreateModelDataCallback(ITimeEntryDatabase.DONT_USE_ID, ITimeEntryDatabase.DONT_USE_ID), 0);
}
try
{
- actionDrawerView.getController().closeDrawer();
-
if (toastMessage.length() > 0)
{
Toast toast = Toast.makeText(getApplicationContext(), toastMessage, Toast.LENGTH_SHORT);
}
detailAdapter.notifyDataSetChanged();
}
+
+ @Override
+ public void selectedMenu(int itemId)
+ {
+ itemSelected(itemId);
+ }
}
--- /dev/null
+package net.osdn.gokigen.joggingtimer.recorddetail;
+
+import android.content.Context;
+import android.graphics.drawable.Drawable;
+import android.support.wear.widget.drawer.WearableNavigationDrawerView;
+
+import net.osdn.gokigen.joggingtimer.R;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ *
+ *
+ */
+public class DetailSelectionMenuAdapter extends WearableNavigationDrawerView.WearableNavigationDrawerAdapter implements WearableNavigationDrawerView.OnItemSelectedListener
+{
+ private final Context context;
+ private final ISelectedMenu callback;
+ private List<MenuItem> menuItems = new ArrayList<>();
+
+ DetailSelectionMenuAdapter(Context context, ISelectedMenu callback)
+ {
+ this.context = context;
+ this.callback = callback;
+
+ menuItems.add(new MenuItem(R.id.menu_edit_title, R.drawable.ic_edit_black_24dp, context.getString(R.string.action_edit_title)));
+ menuItems.add(new MenuItem(R.id.menu_set_reference, R.drawable.ic_assignment_turned_in_black_24dp, context.getString(R.string.action_set_reference)));
+ }
+
+ @Override
+ public CharSequence getItemText(int pos)
+ {
+ try
+ {
+ return (menuItems.get(pos).itemText);
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ return (null);
+ }
+
+ @Override
+ public Drawable getItemDrawable(int pos)
+ {
+ try
+ {
+ int iconId = menuItems.get(pos).iconResId;
+ return (android.support.v4.content.res.ResourcesCompat.getDrawable(context.getResources(), iconId, null));
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ return (null);
+ }
+
+ @Override
+ public int getCount()
+ {
+ return (menuItems.size());
+ }
+
+ private class MenuItem
+ {
+ private final int menuId;
+ private final int iconResId;
+ private final CharSequence itemText;
+
+ private MenuItem(int menuId, int iconResId, CharSequence itemText)
+ {
+ this.menuId = menuId;
+ this.iconResId = iconResId;
+ this.itemText = itemText;
+ }
+ }
+
+ @Override
+ public void onItemSelected(int pos)
+ {
+ try
+ {
+ callback.selectedMenu(menuItems.get(pos).menuId);
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ }
+
+ interface ISelectedMenu
+ {
+ void selectedMenu(int id);
+ }
+}
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/grey"
- android:visibility="gone"
- app:navigationStyle="multiPage" />
+ android:visibility="visible"
+ app:navigationStyle="singlePage" />
<android.support.wear.widget.drawer.WearableActionDrawerView
android:id="@+id/bottom_action_drawer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/grey"
- android:visibility="visible"
+ android:visibility="gone"
app:actionMenu="@menu/selector_detail" />
</android.support.wear.widget.drawer.WearableDrawerLayout>
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/grey"
- android:visibility="gone"
- app:navigationStyle="multiPage" />
+ android:visibility="visible"
+ app:navigationStyle="singlePage" />
<android.support.wear.widget.drawer.WearableActionDrawerView
android:id="@+id/bottom_action_drawer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/grey"
- android:visibility="visible"
+ android:visibility="gone"
app:actionMenu="@menu/selector_detail" />
</android.support.wear.widget.drawer.WearableDrawerLayout>