Commit a3575408 authored by ankitasingh's avatar ankitasingh

delete item code added

parent f384ab89
This diff is collapsed.
......@@ -3,10 +3,11 @@ package com.example.instilostandfound;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.database.Exclude;
import java.io.Serializable;
import java.text.SimpleDateFormat;
import java.util.Date;
public class CreateFoundObject {
public class CreateFoundObject implements Serializable {
//private String mLDAPID;
private String mImageUrl;
......
package com.example.instilostandfound;
import android.content.Context;
import android.view.ContextMenu;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
......@@ -17,6 +20,7 @@ import java.util.List;
public class MyPostsAdaptor extends RecyclerView.Adapter<MyPostsAdaptor.myViewHolder> {
private Context mcontext;
private List<CreateFoundObject> mUploads;
private OnItemClickListener mListener;
public MyPostsAdaptor(Context context, List<CreateFoundObject> uploads){
mcontext = context;
......@@ -45,16 +49,72 @@ public class MyPostsAdaptor extends RecyclerView.Adapter<MyPostsAdaptor.myViewHo
return mUploads.size();
}
public class myViewHolder extends RecyclerView.ViewHolder{
public class myViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener,
View.OnCreateContextMenuListener, MenuItem.OnMenuItemClickListener{
public TextView textViewname;
public ImageView imageView;
public myViewHolder(@NonNull View itemView) {
super(itemView);
textViewname = itemView.findViewById(R.id.list_item_textview);
imageView = itemView.findViewById(R.id.list_item_imageview);
itemView.setOnClickListener(this);
itemView.setOnCreateContextMenuListener(this);
}
@Override
public void onClick(View v) {
if (mListener != null) {
int position = getAdapterPosition();
if (position != RecyclerView.NO_POSITION) {
mListener.onItemClick(position);
}
}
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
menu.setHeaderTitle("Select Action");
MenuItem doedit = menu.add(Menu.NONE, 1, 1, "Edit post");
MenuItem delete = menu.add(Menu.NONE, 2, 2, "Delete post");
doedit.setOnMenuItemClickListener(this);
delete.setOnMenuItemClickListener(this);
}
@Override
public boolean onMenuItemClick(MenuItem item) {
if (mListener != null) {
int position = getAdapterPosition();
if (position != RecyclerView.NO_POSITION) {
switch (item.getItemId()) {
case 1:
mListener.oneditClick(position);
return true;
case 2:
mListener.onDeleteClick(position);
return true;
}
}
}
return false;
}
}
public interface OnItemClickListener {
void onItemClick(int position);
void oneditClick(int position);
void onDeleteClick(int position);
}
public void setOnItemClickListener(OnItemClickListener listener) {
mListener = listener;
}
}
}
......@@ -5,10 +5,14 @@ import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Toast;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.firebase.database.ChildEventListener;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
......@@ -16,18 +20,24 @@ import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.Query;
import com.google.firebase.database.ValueEventListener;
import com.google.firebase.storage.FirebaseStorage;
import com.google.firebase.storage.StorageReference;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
public class MyPostsFoundRV extends AppCompatActivity {
public class MyPostsFoundRV extends AppCompatActivity implements MyPostsAdaptor.OnItemClickListener {
private RecyclerView mrecyclerView;
private MyPostsAdaptor mAdaptor;
private DatabaseReference mDatabaseRef;
private FirebaseStorage mStorage;
private List<CreateFoundObject> mPosts;
private String username =null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
......@@ -41,6 +51,7 @@ public class MyPostsFoundRV extends AppCompatActivity {
mPosts = new ArrayList<>();
mDatabaseRef = FirebaseDatabase.getInstance().getReference("FoundData");
mStorage = FirebaseStorage.getInstance();
Query usernamequery = mDatabaseRef.orderByChild("ldap").equalTo((username+"@iitb.ac.in").toLowerCase());
Log.v("query",usernamequery.toString());
......@@ -48,15 +59,19 @@ public class MyPostsFoundRV extends AppCompatActivity {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for(DataSnapshot postSnapShot : dataSnapshot.getChildren()){
CreateFoundObject post = postSnapShot.getValue(CreateFoundObject.class);
post.setKey(postSnapShot.getKey());
mPosts.add(post);
}
mAdaptor = new MyPostsAdaptor(MyPostsFoundRV.this, mPosts);
mrecyclerView.setAdapter(mAdaptor);
mAdaptor.setOnItemClickListener(MyPostsFoundRV.this);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
......@@ -64,4 +79,51 @@ public class MyPostsFoundRV extends AppCompatActivity {
}
});
}
@Override
public void onItemClick(int position) {
Toast.makeText(this, "Normal click at position: " + position, Toast.LENGTH_SHORT).show();
}
@Override
public void oneditClick(int position) {
Log.v("position =",String.valueOf(position));
CreateFoundObject selectedItem = mPosts.get(position);
final String selectedKey = selectedItem.getKey();
Intent intent = new Intent(MyPostsFoundRV.this, FoundItem.class);
intent.putExtra("FoundObject", selectedItem);
startActivity(intent);
Toast.makeText(this, "Whatever click at position: " + position, Toast.LENGTH_SHORT).show();
}
@Override
public void onDeleteClick(int position) {
Log.v("position =",String.valueOf(position));
CreateFoundObject selectedItem = mPosts.get(position);
final String selectedKey = selectedItem.getKey();
Log.v("selected key =",selectedKey);
Log.v("url of image =",selectedItem.getImageUrl());
if(selectedItem.getImageUrl()=="NO-IMAGE") {
StorageReference imageRef = mStorage.getReferenceFromUrl(selectedItem.getImageUrl());
imageRef.delete().addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
mDatabaseRef.child(selectedKey).removeValue();
Toast.makeText(MyPostsFoundRV.this, "Item deleted", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(MyPostsFoundRV.this, MyPostsFoundRV.class);
intent.putExtra("username", username);
startActivity(intent);
finish();
}
});
}
else
{
mDatabaseRef.child(selectedKey).removeValue();
Toast.makeText(MyPostsFoundRV.this, "Item deleted", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(MyPostsFoundRV.this, MyPostsFoundRV.class);
intent.putExtra("username", username);
startActivity(intent);
finish();
}
}
}
......@@ -23,6 +23,7 @@
<ImageView
android:id="@+id/image_view_upload"
android:layout_width="match_parent"
android:src="@drawable/camera"
android:layout_height="200dp" />
</LinearLayout>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment