Skip to content

Commit a048da0

Browse files
committed
Merge branch 'scopeInfinity-bug_selection' into bug-fixes
2 parents 8051304 + 0249b39 commit a048da0

File tree

2 files changed

+27
-10
lines changed

2 files changed

+27
-10
lines changed

source-code/app/src/main/java/org/buildmlearn/toolkit/adapter/SavedProjectAdapter.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,12 @@ public class SavedProjectAdapter extends BaseAdapter {
2222

2323
private final Context mContext;
2424
private final ArrayList<SavedProject> data;
25+
private int selectedPosition;
2526

2627
public SavedProjectAdapter(Context mContext, ArrayList<SavedProject> data) {
2728
this.mContext = mContext;
2829
this.data = data;
30+
selectedPosition = -1;
2931
}
3032

3133
/**
@@ -52,6 +54,15 @@ public long getItemId(int i) {
5254
return i;
5355
}
5456

57+
58+
public void setSelectedPosition(int selectedPosition) {
59+
this.selectedPosition = selectedPosition;
60+
}
61+
62+
public int getSelectedPosition() {
63+
return selectedPosition;
64+
}
65+
5566
/**
5667
* {@inheritDoc}
5768
*/
@@ -70,6 +81,12 @@ public View getView(int position, View convertView, ViewGroup parent) {
7081
holder = (ProjectHolder) convertView.getTag();
7182
}
7283

84+
if (selectedPosition == position) {
85+
convertView.setBackgroundColor(mContext.getResources().getColor(R.color.color_divider));
86+
} else {
87+
convertView.setBackgroundColor(0);
88+
}
89+
7390
SavedProject projectData = getItem(position);
7491
holder.details.setText("Modified: " + projectData.getDate() + ", Author: " + projectData.getAuthor());
7592
holder.projectName.setText(projectData.getName());

source-code/app/src/main/java/org/buildmlearn/toolkit/fragment/LoadProjectFragment.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import android.util.Log;
1313
import android.view.LayoutInflater;
1414
import android.view.Menu;
15+
import android.view.MenuInflater;
1516
import android.view.MenuItem;
1617
import android.view.View;
1718
import android.view.ViewGroup;
@@ -59,8 +60,6 @@ public class LoadProjectFragment extends Fragment implements AbsListView.OnItemC
5960
private ArrayList<SavedProject> savedProjects;
6061
private View selectedView = null;
6162

62-
private int selectedPosition = -1;
63-
6463
/**
6564
* {@inheritDoc}
6665
*/
@@ -130,18 +129,18 @@ public void onViewCreated(View view, Bundle savedInstanceState) {
130129
mListView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
131130
@Override
132131
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
133-
if (selectedPosition == position) {
134-
selectedPosition = -1;
132+
if (mAdapter.getSelectedPosition() == position) {
133+
mAdapter.setSelectedPosition(-1);
135134
view.setBackgroundResource(0);
136135
restoreColorScheme();
137136
} else {
138137
if (selectedView != null) {
139138
selectedView.setBackgroundResource(0);
140139
}
141140
selectedView = view;
142-
selectedPosition = position;
143-
Log.d(TAG, "Position: " + selectedPosition);
144141
view.setBackgroundColor(ContextCompat.getColor(mToolkit, R.color.color_divider));
142+
mAdapter.setSelectedPosition(position);
143+
Log.d(TAG, "Position: " + position);
145144
changeColorScheme();
146145
}
147146
return true;
@@ -273,12 +272,12 @@ private void changeColorScheme() {
273272
activity.invalidateOptionsMenu();
274273
}
275274

276-
/**
275+
/**
277276
* {@inheritDoc}
278277
*/
279278
@Override
280-
public void onPrepareOptionsMenu(Menu menu) {
281-
super.onPrepareOptionsMenu(menu);
279+
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
280+
super.onCreateOptionsMenu(menu, inflater);
282281
if (showTemplateSelectedMenu) {
283282
activity.getMenuInflater().inflate(R.menu.menu_project_selected, menu);
284283
}
@@ -305,7 +304,7 @@ public boolean onOptionsItemSelected(MenuItem item) {
305304
@Override
306305
public void onClick(View v) {
307306
dialog.dismiss();
308-
deleteItem(selectedPosition);
307+
deleteItem(mAdapter.getSelectedPosition());
309308
restoreSelectedView();
310309
}
311310
});
@@ -326,6 +325,7 @@ private void deleteItem(int selectedPosition) {
326325
boolean deleted = file.delete();
327326
if (deleted) {
328327
savedProjects.remove(selectedPosition);
328+
mAdapter.setSelectedPosition(-1);
329329
mAdapter.notifyDataSetChanged();
330330
setEmptyText();
331331
Toast.makeText(activity, "Project Successfully Deleted!", Toast.LENGTH_SHORT).show();

0 commit comments

Comments
 (0)