You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
190 lines
6.4 KiB
190 lines
6.4 KiB
package com.example.share2;
|
|
|
|
import androidx.appcompat.app.AppCompatActivity;
|
|
|
|
import android.app.AlertDialog;
|
|
import android.content.Context;
|
|
import android.content.DialogInterface;
|
|
import android.content.Intent;
|
|
import android.content.SharedPreferences;
|
|
import android.os.Bundle;
|
|
import android.os.Handler;
|
|
import android.os.Looper;
|
|
import android.os.Message;
|
|
import android.util.Log;
|
|
import android.widget.ListView;
|
|
import android.widget.Toast;
|
|
|
|
import com.example.share2.fragment.photo.GetPhotosList;
|
|
import com.example.share2.fragment.photo.PhotoData;
|
|
import com.example.share2.fragment.photo.PhotosAdapter;
|
|
import com.example.share2.fragment.photo.Record;
|
|
|
|
import java.io.IOException;
|
|
import java.util.ArrayList;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
import okhttp3.Call;
|
|
import okhttp3.Callback;
|
|
import okhttp3.Headers;
|
|
import okhttp3.OkHttpClient;
|
|
import okhttp3.Request;
|
|
import okhttp3.RequestBody;
|
|
import okhttp3.Response;
|
|
|
|
public class MyWorkActivity extends AppCompatActivity {
|
|
|
|
|
|
private static ListView lvList;
|
|
private static List<Record> photosList;
|
|
private static PhotosAdapter photosAdapter;
|
|
private GetPhotosList getPhotosList;
|
|
SharedPreferences sp;
|
|
|
|
private static final Handler mHandler = new Handler(Looper.getMainLooper()){
|
|
public void handleMessage(Message msg){
|
|
ResponseBody<PhotoData<List<Record>>> photoDataResponseBody;
|
|
switch (msg.what) {
|
|
case 1:
|
|
photoDataResponseBody = (ResponseBody<PhotoData<List<Record>>>) msg.obj;
|
|
PhotoData<List<Record>> photoData = photoDataResponseBody.getData();
|
|
if (photoData == null)//防止崩溃
|
|
{
|
|
Toast.makeText(lvList.getContext(), "您还没有发布作评!",Toast.LENGTH_SHORT).show();
|
|
break;
|
|
}
|
|
|
|
photosList = photoData.getRecords();
|
|
|
|
for(Record record:photosList)
|
|
photosAdapter.add(record);
|
|
photosAdapter.notifyDataSetChanged();
|
|
|
|
break;
|
|
case 2:
|
|
int id = msg.arg1;
|
|
photosAdapter.remove(photosList.get(id));
|
|
photosList.remove(id);
|
|
photosAdapter.notifyDataSetChanged();
|
|
Toast.makeText(lvList.getContext(), "删除动态成功",Toast.LENGTH_SHORT).show();
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
protected void onCreate(Bundle savedInstanceState) {
|
|
super.onCreate(savedInstanceState);
|
|
setContentView(R.layout.activity_my_work);
|
|
lvList = findViewById(R.id.lv_photo_MyWork);
|
|
photosList = new ArrayList<Record>();
|
|
photosAdapter = new PhotosAdapter(this,R.layout.list_item,photosList,2);
|
|
lvList.setAdapter(photosAdapter);
|
|
sp = getSharedPreferences("config", Context.MODE_PRIVATE);
|
|
getPhotosList = new GetPhotosList(mHandler, Constants.USER_MY_SHARE, sp);
|
|
getPhotosList.getRemoteList(0);
|
|
|
|
photosAdapter.setOnItemCollect(new PhotosAdapter.OnItemCollectListener() {
|
|
@Override
|
|
public void OnCollect(int id, int flag) {
|
|
DeletcItem(id);
|
|
}
|
|
});
|
|
|
|
photosAdapter.setOnItemComment(new PhotosAdapter.OnItemCommentListener() {
|
|
@Override
|
|
public void OnComment(int id, int flag) {
|
|
Intent intentComment = new Intent(lvList.getContext(), CommentActivity.class);
|
|
Bundle bundle = new Bundle();
|
|
bundle.putSerializable("record",photosList.get(id));
|
|
intentComment.putExtras(bundle);
|
|
startActivity(intentComment);
|
|
}
|
|
});
|
|
|
|
|
|
|
|
}
|
|
|
|
private void DeletcItem(int id) {
|
|
|
|
|
|
new AlertDialog.Builder(this).setTitle("信息提示")//设置对话框标题
|
|
|
|
.setMessage("确定删除此动态吗?")
|
|
.setPositiveButton("是", new DialogInterface.OnClickListener() {//添加确定按钮
|
|
|
|
@Override
|
|
public void onClick(DialogInterface dialog, int which) {//确定按钮的响应事件,点击事件没写,自己添加
|
|
onDeletcItem(id);
|
|
}
|
|
}).setNegativeButton("否", new DialogInterface.OnClickListener() {//添加返回按钮
|
|
|
|
@Override
|
|
public void onClick(DialogInterface dialog, int which) {//响应事件,点击事件没写,自己添加
|
|
|
|
}
|
|
|
|
}).show();//在按键响应事件中显示此对话框
|
|
|
|
|
|
}
|
|
|
|
private void onDeletcItem(int id){
|
|
|
|
ConnectServer connectServer = new ConnectServer();
|
|
Map<String,String> m = new HashMap<>();
|
|
m.put("Content-Type","application/json");
|
|
Headers headers = connectServer.getHeaders(m);
|
|
|
|
|
|
Map<String, String> body_map = new HashMap<>();
|
|
body_map.put("shareId",photosList.get(id).getCollectId());
|
|
|
|
RequestBody r_body = connectServer.getJsonBody(body_map);
|
|
|
|
|
|
|
|
HashMap bodyParams = new HashMap<>();
|
|
bodyParams.put("shareId",photosList.get(id).getId());
|
|
String userId = sp.getString("id","");
|
|
bodyParams.put("userId",userId);
|
|
String url = Constants.SERVER_URL+Constants.USER_SHARE_DELETE+connectServer.getBodyParams(bodyParams);
|
|
|
|
OkHttpClient client = new OkHttpClient();
|
|
Request request = new Request.Builder().url(url).headers(headers).post(r_body).build();
|
|
Call call = client.newCall(request);
|
|
call.enqueue(new Callback() {
|
|
@Override
|
|
public void onFailure(Call call, IOException e) {
|
|
Log.d("删除动态失败","aaaaaa");
|
|
}
|
|
|
|
@Override
|
|
public void onResponse(Call call, Response response) throws IOException {
|
|
final String Rbody = response.body().string();
|
|
Log.d("删除动态成功","aaaaaa");
|
|
//取消点赞之后更新列表
|
|
Message message = new Message();
|
|
message.what = 2;
|
|
message.arg1 = id;
|
|
|
|
mHandler.sendMessage(message);
|
|
|
|
}
|
|
});
|
|
|
|
}
|
|
|
|
|
|
} |