added an android library for drag and droppable list views, introduced

positioning list in finishing fragment
This commit is contained in:
Armin Zamani committed 2013-04-04 23:59:24 +02:00
1 parent 3838e459bd
commit a056ccdb31
5 files changed
+97 -25

No files matched your search

@@ -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>
@@ -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;
}
}
@@ -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) {