mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-30 15:57:11 +00:00
added an android library for drag and droppable list views, introduced
positioning list in finishing fragment
This commit is contained in:
1 parent
3838e459bd
commit
a056ccdb31
5 files changed
+97
-25
No files matched your search
Binary file not shown.
@@ -4,7 +4,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="center_horizontal"
|
||||
android:orientation="vertical" xmlns:app="http://schemas.android.com/apk/res/com.sap.sailing.racecommittee.app">
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/raceCountUp"
|
||||
@@ -83,7 +83,7 @@
|
||||
android:gravity="center_vertical|center_horizontal"
|
||||
android:orientation="horizontal" >
|
||||
|
||||
<!-- <com.mobeta.android.dslv.DragSortListView
|
||||
<com.mobeta.android.dslv.DragSortListView
|
||||
android:id="@+id/listViewPositioningList"
|
||||
android:layout_width="300dp"
|
||||
android:layout_height="match_parent"
|
||||
@@ -98,7 +98,7 @@
|
||||
dslv:slide_shuffle_speed="0.3"
|
||||
dslv:track_drag_sort="false"
|
||||
dslv:float_background_color="@color/welter_light_gray"
|
||||
dslv:use_default_controller="false" /> -->
|
||||
dslv:use_default_controller="false" />
|
||||
|
||||
<ListView
|
||||
android:id="@+id/gridViewCompetitors"
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/Welter.Cell.OneRowTwoColumns"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="50dp"
|
||||
android:background="@drawable/list_selector"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal"
|
||||
android:paddingLeft="6dip" >
|
||||
|
||||
<TextView
|
||||
android:id="@+id/Welter.Cell.OneRowTwoColumns.columnOne.txtTitle"
|
||||
android:layout_width="20dp"
|
||||
android:layout_height="50dp"
|
||||
android:gravity="center_horizontal|center_vertical"
|
||||
android:padding="5dp"
|
||||
android:textColor="@drawable/text_selector"
|
||||
android:textSize="9pt" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/Welter.Cell.OneRowTwoColumns.columnTwo.txtTitle"
|
||||
android:layout_width="180dp"
|
||||
android:layout_height="50dp"
|
||||
android:gravity="center_horizontal|center_vertical"
|
||||
android:padding="5dp"
|
||||
android:textColor="@drawable/text_selector"
|
||||
android:textSize="9pt" />
|
||||
|
||||
</LinearLayout>
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
package com.sap.sailing.racecommittee.app.ui.adapters.finishing;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.racecommittee.app.R;
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.TextView;
|
||||
|
||||
public class CompetitorPositioningListAdapter extends ArrayAdapter<Competitor> {
|
||||
|
||||
public CompetitorPositioningListAdapter(Context context, int textViewResourceId, List<Competitor> objects) {
|
||||
super(context, textViewResourceId, objects);
|
||||
}
|
||||
|
||||
@Override
|
||||
public View getView(int position, View convertView, ViewGroup parent) {
|
||||
View view = convertView;
|
||||
if (convertView == null) {
|
||||
|
||||
LayoutInflater li = (LayoutInflater) (getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE));
|
||||
view = li.inflate(R.layout.welter_one_row_two_columns, null);
|
||||
}
|
||||
|
||||
Competitor competitor = getItem(position);
|
||||
|
||||
TextView positionText = (TextView) view.findViewById(R.id.Welter_Cell_OneRowTwoColumns_columnOne_txtTitle);
|
||||
|
||||
TextView title = (TextView) view.findViewById(R.id.Welter_Cell_OneRowTwoColumns_columnTwo_txtTitle);
|
||||
|
||||
positionText.setText(String.valueOf(position + 1));
|
||||
title.setText(competitor.getName());
|
||||
|
||||
return view;
|
||||
}
|
||||
|
||||
}
|
||||
+23
-22
@@ -17,11 +17,13 @@ import android.widget.ImageButton;
|
||||
import android.widget.ListView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.mobeta.android.dslv.DragSortListView;
|
||||
import com.sap.sailing.domain.base.Competitor;
|
||||
import com.sap.sailing.domain.base.impl.MillisecondsTimePoint;
|
||||
import com.sap.sailing.domain.common.impl.Util;
|
||||
import com.sap.sailing.racecommittee.app.R;
|
||||
import com.sap.sailing.racecommittee.app.logging.ExLog;
|
||||
import com.sap.sailing.racecommittee.app.ui.adapters.finishing.CompetitorPositioningListAdapter;
|
||||
import com.sap.sailing.racecommittee.app.ui.adapters.finishing.CompetitorsAdapter;
|
||||
import com.sap.sailing.racecommittee.app.ui.fragments.RaceFragment;
|
||||
import com.sap.sailing.racecommittee.app.utils.TickListener;
|
||||
@@ -34,14 +36,14 @@ public class FinishingRaceFragment extends RaceFragment implements TickListener
|
||||
private ImageButton novemberFlagButton;
|
||||
private ImageButton blueFlagButton;
|
||||
|
||||
//private DragSortListView positioningListView;
|
||||
private DragSortListView positioningListView;
|
||||
private ListView competitorListView;
|
||||
|
||||
private CompetitorsAdapter competitorsAdapter;
|
||||
//private CompetitorPositioningListAdapter positioningAdapter;
|
||||
private CompetitorPositioningListAdapter positioningAdapter;
|
||||
|
||||
protected List<Competitor> competitors;
|
||||
//protected List<Competitor> positionedCompetitors;
|
||||
protected List<Competitor> positionedCompetitors;
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
@@ -61,25 +63,25 @@ public class FinishingRaceFragment extends RaceFragment implements TickListener
|
||||
competitors = new ArrayList<Competitor>();
|
||||
Util.addAll(getRace().getCompetitors(), competitors);
|
||||
|
||||
//positionedCompetitors = new ArrayList<Competitor>();
|
||||
positionedCompetitors = new ArrayList<Competitor>();
|
||||
competitorsAdapter = new CompetitorsAdapter(getActivity(), R.layout.welter_grid_competitor_cell, competitors);
|
||||
|
||||
//positioningAdapter = new CompetitorPositioningListAdapter(getActivity(), R.layout.welter_one_row_two_columns, positionedCompetitors);
|
||||
|
||||
//positioningListView = (DragSortListView) getView().findViewById(R.id.listViewPositioningList);
|
||||
//positioningListView.setAdapter(positioningAdapter);
|
||||
//positioningListView.setDropListener(new DragSortListView.DropListener() {
|
||||
|
||||
// @Override
|
||||
// public void drop(int from, int to) {
|
||||
// if (from != to) {
|
||||
// Competitor item = positioningAdapter.getItem(from);
|
||||
// positioningAdapter.remove(item);
|
||||
// positioningAdapter.insert(item, to);
|
||||
// }
|
||||
// }
|
||||
// });
|
||||
positioningAdapter = new CompetitorPositioningListAdapter(getActivity(), R.layout.welter_one_row_two_columns, positionedCompetitors);
|
||||
|
||||
positioningListView = (DragSortListView) getView().findViewById(R.id.listViewPositioningList);
|
||||
positioningListView.setAdapter(positioningAdapter);
|
||||
positioningListView.setDropListener(new DragSortListView.DropListener() {
|
||||
|
||||
@Override
|
||||
public void drop(int from, int to) {
|
||||
if (from != to) {
|
||||
Competitor item = positioningAdapter.getItem(from);
|
||||
positioningAdapter.remove(item);
|
||||
positioningAdapter.insert(item, to);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
competitorListView = (ListView) getView().findViewById(R.id.gridViewCompetitors);
|
||||
competitorListView.setAdapter(competitorsAdapter);
|
||||
|
||||
@@ -104,7 +106,6 @@ public class FinishingRaceFragment extends RaceFragment implements TickListener
|
||||
ExLog.i("RaceFinishingFragment", "Grid is clicked at position " + position + " for competitor " + competitor.getName());
|
||||
onCompetitorClickedOnGrid(competitor);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
@@ -133,8 +134,8 @@ public class FinishingRaceFragment extends RaceFragment implements TickListener
|
||||
}
|
||||
|
||||
private void addNewCompetitorToList(Competitor competitor) {
|
||||
//positionedCompetitors.add(competitor);
|
||||
//positioningAdapter.notifyDataSetChanged();
|
||||
positionedCompetitors.add(competitor);
|
||||
positioningAdapter.notifyDataSetChanged();
|
||||
}
|
||||
|
||||
protected void setCountdownLabels(long millisecondsSinceStart) {
|
||||
|
||||
Reference in new issue
Block a user