Merge remote-tracking branch 'remotes/origin/caijianyu_part'

liuqirui_part
刘骐瑞 6 months ago
commit be3945fb1e

@ -96,4 +96,16 @@ public class MainActivity extends AppCompatActivity {
}
return null;
}
// 获取HomeFragment实例的方法
public HomeFragment getHomeFragment() {
// 这里根据您的实际情况获取HomeFragment
// 如果HomeFragment是当前显示的Fragment可以通过Tag获取
Fragment fragment = getSupportFragmentManager().findFragmentByTag("home");
if (fragment instanceof HomeFragment) {
return (HomeFragment) fragment;
}
return null;
}
}

@ -134,30 +134,7 @@ public class PublishFragment extends Fragment {
String priceStr = etPrice.getText().toString().trim();
String contact = etContact.getText().toString().trim();
if (title.isEmpty()) {
Toast.makeText(requireContext(), "请输入商品标题", Toast.LENGTH_SHORT).show();
return;
}
if (description.isEmpty()) {
Toast.makeText(requireContext(), "请输入商品描述", Toast.LENGTH_SHORT).show();
return;
}
if (priceStr.isEmpty()) {
Toast.makeText(requireContext(), "请输入商品价格", Toast.LENGTH_SHORT).show();
return;
}
if (contact.isEmpty()) {
Toast.makeText(requireContext(), "请输入联系方式", Toast.LENGTH_SHORT).show();
return;
}
if (selectedImages.isEmpty()) {
Toast.makeText(requireContext(), "请至少上传一张图片", Toast.LENGTH_SHORT).show();
return;
}
// 验证逻辑保持不变...
try {
double price = Double.parseDouble(priceStr);
@ -177,13 +154,25 @@ public class PublishFragment extends Fragment {
item.setPublishTime(System.currentTimeMillis());
item.setUserId("user_" + System.currentTimeMillis());
// 保存图片URL这里简化处理实际应该上传到服务器
// item.setImageUrls(imageUrls);
// 发布成功
Toast.makeText(requireContext(), "发布成功!", Toast.LENGTH_SHORT).show();
clearForm();
// 发布完成后自动返回首页
// 将新商品添加到主页列表
if (getActivity() instanceof MainActivity) {
((MainActivity) getActivity()).switchToHomeFragment();
MainActivity mainActivity = (MainActivity) getActivity();
// 获取HomeFragment并添加新商品
HomeFragment homeFragment = mainActivity.getHomeFragment();
if (homeFragment != null) {
homeFragment.addNewItem(item);
}
// 返回首页
mainActivity.switchToHomeFragment();
}
} catch (NumberFormatException e) {

@ -13,14 +13,33 @@ public class Item implements Serializable {
private String category;
private String location;
private String contact;
private String contactQQ; // 新增QQ联系方式
private String contactWechat; // 新增微信联系方式
private long publishTime;
private String userId;
private int viewCount; // 浏览数
private int likeCount; // 点赞数
public Item() {
imageUrls = new ArrayList<>();
viewCount = 0;
likeCount = 0;
}
// Getters and Setters
// 构造函数
public Item(String title, String description, double price, String category, String location, String contact) {
this();
this.title = title;
this.description = description;
this.price = price;
this.category = category;
this.location = location;
this.contact = contact;
this.publishTime = System.currentTimeMillis();
this.userId = "user_" + System.currentTimeMillis();
}
// Getter 和 Setter 方法
public String getId() { return id; }
public void setId(String id) { this.id = id; }
@ -35,6 +54,7 @@ public class Item implements Serializable {
public List<String> getImageUrls() { return imageUrls; }
public void setImageUrls(List<String> imageUrls) { this.imageUrls = imageUrls; }
public void addImageUrl(String imageUrl) { this.imageUrls.add(imageUrl); }
public String getCategory() { return category; }
public void setCategory(String category) { this.category = category; }
@ -45,9 +65,47 @@ public class Item implements Serializable {
public String getContact() { return contact; }
public void setContact(String contact) { this.contact = contact; }
public String getContactQQ() { return contactQQ; }
public void setContactQQ(String contactQQ) { this.contactQQ = contactQQ; }
public String getContactWechat() { return contactWechat; }
public void setContactWechat(String contactWechat) { this.contactWechat = contactWechat; }
public long getPublishTime() { return publishTime; }
public void setPublishTime(long publishTime) { this.publishTime = publishTime; }
public String getUserId() { return userId; }
public void setUserId(String userId) { this.userId = userId; }
public int getViewCount() { return viewCount; }
public void setViewCount(int viewCount) { this.viewCount = viewCount; }
public int getLikeCount() { return likeCount; }
public void setLikeCount(int likeCount) { this.likeCount = likeCount; }
/**
*
*/
public void incrementViewCount() {
this.viewCount++;
}
/**
*
*/
public void incrementLikeCount() {
this.likeCount++;
}
@Override
public String toString() {
return "Item{" +
"id='" + id + '\'' +
", title='" + title + '\'' +
", price=" + price +
", category='" + category + '\'' +
", location='" + location + '\'' +
", publishTime=" + publishTime +
'}';
}
}
Loading…
Cancel
Save