mirror of
https://github.com/ClaytonWWilson/Listify.git
synced 2025-12-16 10:48:46 +00:00
Merge pull request #133 from ClaytonWWilson/duplicate-lists
Duplicate lists
This commit is contained in:
commit
6feef0ef22
@ -1,15 +1,16 @@
|
|||||||
package com.example.listify;
|
package com.example.listify;
|
||||||
|
|
||||||
import android.app.AlertDialog;
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.DialogInterface;
|
import android.content.DialogInterface;
|
||||||
import android.graphics.Color;
|
import android.graphics.Color;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.text.Editable;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.*;
|
import android.view.*;
|
||||||
import android.widget.*;
|
import android.widget.*;
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
|
import androidx.appcompat.app.AlertDialog;
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
|
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
|
||||||
@ -27,7 +28,7 @@ import java.util.Properties;
|
|||||||
|
|
||||||
import static com.example.listify.MainActivity.am;
|
import static com.example.listify.MainActivity.am;
|
||||||
|
|
||||||
public class ListPage extends AppCompatActivity implements Requestor.Receiver {
|
public class ListPage extends AppCompatActivity implements Requestor.Receiver, RenameListDialogFragment.OnRenameListListener {
|
||||||
ListView listView;
|
ListView listView;
|
||||||
MyAdapter myAdapter;
|
MyAdapter myAdapter;
|
||||||
Requestor requestor;
|
Requestor requestor;
|
||||||
@ -59,15 +60,15 @@ public class ListPage extends AppCompatActivity implements Requestor.Receiver {
|
|||||||
Map<String, Integer> storeHeaderIndex = new HashMap<>();
|
Map<String, Integer> storeHeaderIndex = new HashMap<>();
|
||||||
|
|
||||||
DecimalFormat df = new DecimalFormat("0.00");
|
DecimalFormat df = new DecimalFormat("0.00");
|
||||||
|
List selectedList;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setContentView(R.layout.activity_list);
|
setContentView(R.layout.activity_list);
|
||||||
|
|
||||||
final int LIST_ID = (int) getIntent().getSerializableExtra("listID");
|
selectedList = (List) getIntent().getSerializableExtra("selectedList");
|
||||||
final String LIST_NAME = (String) getIntent().getSerializableExtra("listName");
|
setTitle(selectedList.getName());
|
||||||
setTitle(LIST_NAME);
|
|
||||||
|
|
||||||
Properties configs = new Properties();
|
Properties configs = new Properties();
|
||||||
try {
|
try {
|
||||||
@ -76,7 +77,7 @@ public class ListPage extends AppCompatActivity implements Requestor.Receiver {
|
|||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
requestor = new Requestor(am, configs.getProperty("apiKey"));
|
requestor = new Requestor(am, configs.getProperty("apiKey"));
|
||||||
requestor.getObject(Integer.toString(LIST_ID), List.class, this);
|
requestor.getObject(Integer.toString(selectedList.getListID()), List.class, this);
|
||||||
|
|
||||||
listView = findViewById(R.id.listView);
|
listView = findViewById(R.id.listView);
|
||||||
myAdapter = new MyAdapter(this, pNames, pStores, pPrices, pQuantity, pImages);
|
myAdapter = new MyAdapter(this, pNames, pStores, pPrices, pQuantity, pImages);
|
||||||
@ -158,7 +159,7 @@ public class ListPage extends AppCompatActivity implements Requestor.Receiver {
|
|||||||
}
|
}
|
||||||
|
|
||||||
requestor = new Requestor(am, configs.getProperty("apiKey"));
|
requestor = new Requestor(am, configs.getProperty("apiKey"));
|
||||||
requestor.getObject(Integer.toString(LIST_ID), List.class, ListPage.this);
|
requestor.getObject(Integer.toString(selectedList.getListID()), List.class, ListPage.this);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -166,16 +167,16 @@ public class ListPage extends AppCompatActivity implements Requestor.Receiver {
|
|||||||
@Override
|
@Override
|
||||||
public boolean onCreateOptionsMenu(Menu menu) {
|
public boolean onCreateOptionsMenu(Menu menu) {
|
||||||
//Inflate the menu; this adds items to the action bar if it is present.
|
//Inflate the menu; this adds items to the action bar if it is present.
|
||||||
|
|
||||||
getMenuInflater().inflate(R.menu.list, menu);
|
getMenuInflater().inflate(R.menu.list, menu);
|
||||||
|
|
||||||
//return super.onCreateOptionsMenu(menu);
|
|
||||||
|
|
||||||
MenuItem renameItem = menu.findItem(R.id.action_rename_list);
|
MenuItem renameItem = menu.findItem(R.id.action_rename_list);
|
||||||
renameItem.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
|
renameItem.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public boolean onMenuItemClick(MenuItem item) {
|
public boolean onMenuItemClick(MenuItem item) {
|
||||||
Toast.makeText(ListPage.this, "Rename List", Toast.LENGTH_SHORT).show();
|
RenameListDialogFragment renameListDialog = new RenameListDialogFragment();
|
||||||
|
renameListDialog.show(getSupportFragmentManager(), "Rename List");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -193,7 +194,24 @@ public class ListPage extends AppCompatActivity implements Requestor.Receiver {
|
|||||||
duplicateItem.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
|
duplicateItem.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public boolean onMenuItemClick(MenuItem item) {
|
public boolean onMenuItemClick(MenuItem item) {
|
||||||
Toast.makeText(ListPage.this, "Duplicate List", Toast.LENGTH_SHORT).show();
|
|
||||||
|
ListDuplicate duplicate = new ListDuplicate(selectedList.getListID(), String.format("%s copy", selectedList.getName()));
|
||||||
|
|
||||||
|
Properties configs = new Properties();
|
||||||
|
try {
|
||||||
|
configs = AuthManager.loadProperties(ListPage.this, "android.resource://" + getPackageName() + "/raw/auths.json");
|
||||||
|
} catch (IOException | JSONException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
requestor = new Requestor(am, configs.getProperty("apiKey"));
|
||||||
|
try {
|
||||||
|
requestor.postObject(duplicate);
|
||||||
|
} catch (JSONException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
Toast.makeText(ListPage.this, "List duplicated", Toast.LENGTH_SHORT).show();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -329,6 +347,34 @@ public class ListPage extends AppCompatActivity implements Requestor.Receiver {
|
|||||||
refreshList.setRefreshing(false);
|
refreshList.setRefreshing(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void sendRenameListName(String name) {
|
||||||
|
selectedList.setName(name);
|
||||||
|
|
||||||
|
Properties configs = new Properties();
|
||||||
|
try {
|
||||||
|
configs = AuthManager.loadProperties(ListPage.this, "android.resource://" + getPackageName() + "/raw/auths.json");
|
||||||
|
} catch (IOException | JSONException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
requestor = new Requestor(am, configs.getProperty("apiKey"));
|
||||||
|
try {
|
||||||
|
requestor.putObject(selectedList);
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
runOnUiThread(new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
setTitle(name);
|
||||||
|
Toast.makeText(ListPage.this, "List Renamed", Toast.LENGTH_SHORT).show();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
class MyAdapter extends ArrayAdapter<String> {
|
class MyAdapter extends ArrayAdapter<String> {
|
||||||
Context context;
|
Context context;
|
||||||
ArrayList<String> pNames;
|
ArrayList<String> pNames;
|
||||||
|
|||||||
@ -0,0 +1,71 @@
|
|||||||
|
package com.example.listify;
|
||||||
|
import android.app.Dialog;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.content.DialogInterface;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.util.Log;
|
||||||
|
import android.view.LayoutInflater;
|
||||||
|
import android.view.View;
|
||||||
|
import android.widget.EditText;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.appcompat.app.AlertDialog;
|
||||||
|
import androidx.fragment.app.DialogFragment;
|
||||||
|
|
||||||
|
|
||||||
|
public class RenameListDialogFragment extends DialogFragment {
|
||||||
|
|
||||||
|
public interface OnRenameListListener {
|
||||||
|
void sendRenameListName(String name);
|
||||||
|
}
|
||||||
|
|
||||||
|
public OnRenameListListener onRenameListListener;
|
||||||
|
|
||||||
|
EditText etRenameListName;
|
||||||
|
|
||||||
|
public RenameListDialogFragment() {}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Dialog onCreateDialog(final Bundle savedInstanceState) {
|
||||||
|
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
|
||||||
|
|
||||||
|
// Get the layout inflater
|
||||||
|
LayoutInflater inflater = requireActivity().getLayoutInflater();
|
||||||
|
|
||||||
|
// Inflate and set the layout for the dialog
|
||||||
|
// Pass null as the parent view because its going in the dialog layout
|
||||||
|
View root = inflater.inflate(R.layout.dialog_rename_list, null);
|
||||||
|
builder.setView(root)
|
||||||
|
// Add action buttons
|
||||||
|
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(DialogInterface dialog, int id) {
|
||||||
|
onRenameListListener.sendRenameListName(etRenameListName.getText().toString());
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.setNegativeButton("cancel", new DialogInterface.OnClickListener() {
|
||||||
|
public void onClick(DialogInterface dialog, int id) {
|
||||||
|
RenameListDialogFragment.this.getDialog().cancel();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
etRenameListName = (EditText) root.findViewById(R.id.et_renamed_list_name);
|
||||||
|
|
||||||
|
return builder.create();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Required to extend DialogFragment
|
||||||
|
@Override
|
||||||
|
public void onAttach(@NonNull Context context) {
|
||||||
|
super.onAttach(context);
|
||||||
|
try {
|
||||||
|
onRenameListListener = (OnRenameListListener) getTargetFragment();
|
||||||
|
if (onRenameListListener == null) {
|
||||||
|
onRenameListListener = (OnRenameListListener) getActivity();
|
||||||
|
}
|
||||||
|
} catch (ClassCastException e) {
|
||||||
|
Log.e("CreateListDialogFragment", "onAttach: ClassCastException: " + e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -79,7 +79,7 @@ public class ShareeSwipeableAdapter extends BaseAdapter {
|
|||||||
holder.swipeLayout = (SwipeRevealLayout)convertView.findViewById(R.id.swipe_layout);
|
holder.swipeLayout = (SwipeRevealLayout)convertView.findViewById(R.id.swipe_layout);
|
||||||
holder.frontView = convertView.findViewById(R.id.front_layout);
|
holder.frontView = convertView.findViewById(R.id.front_layout);
|
||||||
holder.deleteList = convertView.findViewById(R.id.delete_list);
|
holder.deleteList = convertView.findViewById(R.id.delete_list);
|
||||||
holder.shareList = convertView.findViewById(R.id.share_list);
|
// holder.shareList = convertView.findViewById(R.id.share_list);
|
||||||
holder.textView = (TextView) convertView.findViewById(R.id.shopping_list_name);
|
holder.textView = (TextView) convertView.findViewById(R.id.shopping_list_name);
|
||||||
|
|
||||||
convertView.setTag(holder);
|
convertView.setTag(holder);
|
||||||
@ -101,12 +101,12 @@ public class ShareeSwipeableAdapter extends BaseAdapter {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
holder.shareList.setOnClickListener(new View.OnClickListener() {
|
// holder.shareList.setOnClickListener(new View.OnClickListener() {
|
||||||
@Override
|
// @Override
|
||||||
public void onClick(View v) {
|
// public void onClick(View v) {
|
||||||
|
//
|
||||||
}
|
// }
|
||||||
});
|
// });
|
||||||
|
|
||||||
holder.frontView.setOnClickListener(new View.OnClickListener() {
|
holder.frontView.setOnClickListener(new View.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -79,7 +79,7 @@ public class ShoppingListsSwipeableAdapter extends BaseAdapter {
|
|||||||
holder.swipeLayout = (SwipeRevealLayout)convertView.findViewById(R.id.swipe_layout);
|
holder.swipeLayout = (SwipeRevealLayout)convertView.findViewById(R.id.swipe_layout);
|
||||||
holder.frontView = convertView.findViewById(R.id.front_layout);
|
holder.frontView = convertView.findViewById(R.id.front_layout);
|
||||||
holder.deleteList = convertView.findViewById(R.id.delete_list);
|
holder.deleteList = convertView.findViewById(R.id.delete_list);
|
||||||
holder.shareList = convertView.findViewById(R.id.share_list);
|
// holder.shareList = convertView.findViewById(R.id.share_list);
|
||||||
holder.listName = (TextView) convertView.findViewById(R.id.shopping_list_name);
|
holder.listName = (TextView) convertView.findViewById(R.id.shopping_list_name);
|
||||||
holder.itemCount = (TextView) convertView.findViewById(R.id.shopping_list_item_count);
|
holder.itemCount = (TextView) convertView.findViewById(R.id.shopping_list_item_count);
|
||||||
|
|
||||||
@ -100,7 +100,11 @@ public class ShoppingListsSwipeableAdapter extends BaseAdapter {
|
|||||||
holder.listName.setText(curList.getName());
|
holder.listName.setText(curList.getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (curList.getEntries() != null) {
|
||||||
holder.itemCount.setText(String.format("%d items", curList.getEntries().length));
|
holder.itemCount.setText(String.format("%d items", curList.getEntries().length));
|
||||||
|
} else {
|
||||||
|
holder.itemCount.setText("0 items");
|
||||||
|
}
|
||||||
|
|
||||||
holder.deleteList.setOnClickListener(new View.OnClickListener() {
|
holder.deleteList.setOnClickListener(new View.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
@ -120,50 +124,49 @@ public class ShoppingListsSwipeableAdapter extends BaseAdapter {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
holder.shareList.setOnClickListener(new View.OnClickListener() {
|
// holder.shareList.setOnClickListener(new View.OnClickListener() {
|
||||||
@Override
|
// @Override
|
||||||
public void onClick(View v) {
|
// public void onClick(View v) {
|
||||||
View codeView = inflater.inflate(R.layout.activity_sharedemail, null);
|
// View codeView = inflater.inflate(R.layout.activity_sharedemail, null);
|
||||||
AlertDialog.Builder builder = new AlertDialog.Builder(activity);
|
// AlertDialog.Builder builder = new AlertDialog.Builder(activity);
|
||||||
builder.setView(codeView);
|
// builder.setView(codeView);
|
||||||
builder.setTitle("Share list");
|
// builder.setTitle("Share list");
|
||||||
builder.setMessage("Please enter the email of the user who you want to share the list with.");
|
// builder.setMessage("Please enter the email of the user who you want to share the list with.");
|
||||||
builder.setPositiveButton("Submit", new DialogInterface.OnClickListener() {
|
// builder.setPositiveButton("Submit", new DialogInterface.OnClickListener() {
|
||||||
@Override
|
// @Override
|
||||||
public void onClick(DialogInterface dialog, int which) {
|
// public void onClick(DialogInterface dialog, int which) {
|
||||||
EditText sharedEmailText = (EditText) codeView.findViewById(R.id.editTextTextSharedEmail);
|
// EditText sharedEmailText = (EditText) codeView.findViewById(R.id.editTextTextSharedEmail);
|
||||||
String sharedEmail = sharedEmailText.getText().toString();
|
// String sharedEmail = sharedEmailText.getText().toString();
|
||||||
ListShare listShare = new ListShare(curList.getListID(), sharedEmail, "Read, Write, Delete, Share", null);
|
// ListShare listShare = new ListShare(curList.getListID(), sharedEmail, "Read, Write, Delete, Share", null);
|
||||||
try {
|
// try {
|
||||||
requestor.putObject(listShare);
|
// requestor.putObject(listShare);
|
||||||
}
|
// }
|
||||||
catch(Exception e) {
|
// catch(Exception e) {
|
||||||
e.printStackTrace();
|
// e.printStackTrace();
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
});
|
// });
|
||||||
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
|
// builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
|
||||||
@Override
|
// @Override
|
||||||
public void onClick(DialogInterface dialog, int which) {}
|
// public void onClick(DialogInterface dialog, int which) {}
|
||||||
});
|
// });
|
||||||
AlertDialog dialog = builder.create();
|
// AlertDialog dialog = builder.create();
|
||||||
dialog.show();
|
// dialog.show();
|
||||||
|
//
|
||||||
Toast.makeText(activity, String.format("Share %s", curList.getName()), Toast.LENGTH_SHORT).show();
|
// Toast.makeText(activity, String.format("Share %s", curList.getName()), Toast.LENGTH_SHORT).show();
|
||||||
|
//
|
||||||
// Close the layout
|
// // Close the layout
|
||||||
binderHelper.closeLayout(Integer.toString(curList.getListID()));
|
// binderHelper.closeLayout(Integer.toString(curList.getListID()));
|
||||||
}
|
// }
|
||||||
});
|
// });
|
||||||
|
|
||||||
holder.frontView.setOnClickListener(new View.OnClickListener() {
|
holder.frontView.setOnClickListener(new View.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
Intent listPage = new Intent(activity, ListPage.class);
|
Intent listPage = new Intent(activity, ListPage.class);
|
||||||
|
|
||||||
// Send the list ID and list name
|
// Send the selected list
|
||||||
listPage.putExtra("listID", curList.getListID());
|
listPage.putExtra("selectedList", curList);
|
||||||
listPage.putExtra("listName", curList.getName());
|
|
||||||
|
|
||||||
activity.startActivity(listPage);
|
activity.startActivity(listPage);
|
||||||
}
|
}
|
||||||
@ -176,7 +179,7 @@ public class ShoppingListsSwipeableAdapter extends BaseAdapter {
|
|||||||
SwipeRevealLayout swipeLayout;
|
SwipeRevealLayout swipeLayout;
|
||||||
View frontView;
|
View frontView;
|
||||||
View deleteList;
|
View deleteList;
|
||||||
View shareList;
|
// View shareList;
|
||||||
TextView listName;
|
TextView listName;
|
||||||
TextView itemCount;
|
TextView itemCount;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,8 +1,9 @@
|
|||||||
package com.example.listify.data;
|
package com.example.listify.data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
|
||||||
public class List {
|
public class List implements Serializable {
|
||||||
Integer listID;
|
Integer listID;
|
||||||
String name;
|
String name;
|
||||||
String owner;
|
String owner;
|
||||||
|
|||||||
@ -1,6 +1,8 @@
|
|||||||
package com.example.listify.data;
|
package com.example.listify.data;
|
||||||
|
|
||||||
public class ListEntry {
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
public class ListEntry implements Serializable {
|
||||||
Integer listID;
|
Integer listID;
|
||||||
Integer productID;
|
Integer productID;
|
||||||
Integer quantity;
|
Integer quantity;
|
||||||
|
|||||||
22
Listify/app/src/main/res/layout/dialog_rename_list.xml
Normal file
22
Listify/app/src/main/res/layout/dialog_rename_list.xml
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="Rename List"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:textSize="20sp"
|
||||||
|
android:layout_marginTop="5dp"/>
|
||||||
|
|
||||||
|
<EditText
|
||||||
|
android:id="@+id/et_renamed_list_name"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="50dp"
|
||||||
|
android:layout_marginHorizontal="15dp"
|
||||||
|
android:singleLine="true"
|
||||||
|
android:hint="@string/new_list_name"/>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
@ -17,12 +17,12 @@
|
|||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
<ImageView
|
<!-- <ImageView-->
|
||||||
android:id="@+id/share_list"
|
<!-- android:id="@+id/share_list"-->
|
||||||
android:src="@drawable/ic_baseline_share_24"
|
<!-- android:src="@drawable/ic_baseline_share_24"-->
|
||||||
android:layout_width="50dp"
|
<!-- android:layout_width="50dp"-->
|
||||||
android:layout_height="50dp"
|
<!-- android:layout_height="50dp"-->
|
||||||
android:background="@color/colorAccent"/>
|
<!-- android:background="@color/colorAccent"/>-->
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/delete_list"
|
android:id="@+id/delete_list"
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user