diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 0407368..64c5979 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -63,12 +63,12 @@
android:exported="true"
android:label="@string/title_activity_sign_up">
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
diff --git a/app/src/main/java/com/example/nemophila/MyPageActivity.java b/app/src/main/java/com/example/nemophila/MyPageActivity.java
index 47eeaaa..502a50b 100644
--- a/app/src/main/java/com/example/nemophila/MyPageActivity.java
+++ b/app/src/main/java/com/example/nemophila/MyPageActivity.java
@@ -6,13 +6,17 @@
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
+import android.app.AlertDialog;
+import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
+import android.widget.ImageButton;
import android.widget.TextView;
+import android.widget.Toast;
import com.example.nemophila.entities.Post;
import com.example.nemophila.viewmodels.AccountViewModel;
@@ -28,9 +32,11 @@
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mypage);
- Nemophila nemophila = (Nemophila) getApplication();
+ //初期化
+ Nemophila nemophila = (Nemophila) this.getApplication();
String uid = nemophila.getUid();
String name = nemophila.getName();
+ String token = nemophila.getToken();
TextView myName = (TextView) findViewById(R.id.name);
myName.setText(name);
TextView id = (TextView) findViewById(R.id.id);
@@ -94,10 +100,28 @@
});
/* ここからあんまわかっていない */
- RecyclerView rv = (RecyclerView) findViewById(R.id.postsList);
+ RecyclerView rv = findViewById(R.id.postsList);
LinearLayoutManager llm = new LinearLayoutManager(this);
List myPageActDataset = new ArrayList<>();
- MyPageActAdapter adapter = new MyPageActAdapter(myPageActDataset);
+ MyPageActAdapter adapter = new MyPageActAdapter(myPageActDataset) {
+ @Override
+ void onDeleteButtonClick(View view, int position, MyPageActDataModel dataModel) {
+ new AlertDialog.Builder(MyPageActivity.this)
+ .setTitle("警告")
+ .setMessage("この投稿を削除しますか?")
+ .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialogInterface, int i) {
+ Toast.makeText(MyPageActivity.this, dataModel.getPid(), Toast.LENGTH_SHORT).show();
+ System.out.println("投稿を削除しました。");
+// accountViewModel.deleteAccountPost(dataModel.getSid(), uid, dataModel.getPid(), token);
+ }
+ })
+ .setNegativeButton("No", null)
+ .create()
+ .show();
+ }
+ };
rv.setHasFixedSize(true);
rv.setLayoutManager(llm);
@@ -138,22 +162,24 @@
/* ここからMyPageActivityの内部クラス */
// Adapter
- public class MyPageActAdapter extends RecyclerView.Adapter {
-
+ abstract public class MyPageActAdapter extends RecyclerView.Adapter {
private List list;
-
- public void setList(List list) {
- this.list = list;
- }
-
- public MyPageActAdapter(List list) {
- this.list = list;
- }
+ public void setList(List list) { this.list = list; }
+ public MyPageActAdapter(List list) { this.list = list; }
@Override
public MyPageActViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View inflate = LayoutInflater.from(parent.getContext()).inflate(R.layout.layout_my_page_activity_posts, parent,false);
MyPageActViewHolder vh = new MyPageActViewHolder(inflate);
+
+ vh.deleteButton.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ int position = vh.getBindingAdapterPosition();
+ onDeleteButtonClick(view, position, list.get(position));
+ }
+ });
+
return vh;
}
@@ -166,9 +192,9 @@
}
@Override
- public int getItemCount() {
- return list.size();
- }
+ public int getItemCount() { return list.size(); }
+
+ abstract void onDeleteButtonClick(View view, int position, MyPageActDataModel dataModel);
}
// ViewHolder
@@ -177,13 +203,15 @@
public TextView rateView;
public TextView genreView;
public TextView commentView;
+ public ImageButton deleteButton;
- public MyPageActViewHolder(View itemView) {
- super(itemView);
- dateView = (TextView) itemView.findViewById(R.id.date);
- rateView = (TextView) itemView.findViewById(R.id.rate);
- genreView = (TextView) itemView.findViewById(R.id.genre);
- commentView = (TextView) itemView.findViewById(R.id.comment);
+ public MyPageActViewHolder(View view) {
+ super(view);
+ dateView = (TextView) view.findViewById(R.id.date);
+ rateView = (TextView) view.findViewById(R.id.rate);
+ genreView = (TextView) view.findViewById(R.id.genre);
+ commentView = (TextView) view.findViewById(R.id.comment);
+ deleteButton = view.findViewById(R.id.deleteButton);
}
}
@@ -193,6 +221,8 @@
private String rate;
private String genre;
private String comment;
+ private String sid;
+ private String pid;
public String getDate() {
return date;
@@ -221,5 +251,11 @@
public void setComment(String comment) {
this.comment = comment;
}
+
+ public String getSid() { return sid; }
+ public void setSid(String sid) { this.sid = sid; }
+
+ public String getPid() { return pid; }
+ public void setPid(String sid) { this.pid = pid; }
}
}
diff --git a/app/src/main/res/drawable/blue_circle_button.xml b/app/src/main/res/drawable/blue_circle_button.xml
index e007807..182023f 100644
--- a/app/src/main/res/drawable/blue_circle_button.xml
+++ b/app/src/main/res/drawable/blue_circle_button.xml
@@ -2,5 +2,5 @@
+ android:color="@color/design_default_color_secondary"/>
diff --git a/app/src/main/res/layout/activity_mypage.xml b/app/src/main/res/layout/activity_mypage.xml
index 9dcff08..5ba4e04 100644
--- a/app/src/main/res/layout/activity_mypage.xml
+++ b/app/src/main/res/layout/activity_mypage.xml
@@ -106,7 +106,7 @@