diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index 2996d53..f43d428 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -8,6 +8,12 @@
+
diff --git a/app/build.gradle b/app/build.gradle
index dbf7c23..c49de85 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -32,4 +32,5 @@
//QRコードリーダー
implementation 'com.journeyapps:zxing-android-embedded:3.6.0'
implementation 'com.android.support:design:28.0.0'
+ implementation 'org.jetbrains:annotations-java5:15.0'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 26cd441..f3c794e 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -3,9 +3,8 @@
xmlns:tools="http://schemas.android.com/tools"
package="com.example.cosmosclient">
-
-
-
+
+
parent, View view, int position, long id) {
+ Spinner spinner = (Spinner)parent;
+ selectedSubCategory = (String)spinner.getSelectedItem();
+ }
+
+ // アイテムが選択されなかった
+ public void onNothingSelected(AdapterView> parent) {
+ }
+ });
+
}
private void SearchSubCategory(String selectedCategory) {
-
+ switch(selectedCategory) {
+ case "家電・携帯電話":
+ setSpinner(subCategory, Yolp.getInstance().getCategoryByName("家電・携帯電話").getSubCategoryNames());
+ break;
+ case "コンビニ・スーパー":
+ setSpinner(subCategory, Yolp.getInstance().getCategoryByName("コンビニ・スーパー").getSubCategoryNames());
+ break;
+ }
}
private void setSpinner(Spinner spinner, String[] arr){
diff --git a/app/src/main/java/com/example/cosmosclient/views/RequestListActivity.java b/app/src/main/java/com/example/cosmosclient/views/RequestListActivity.java
index 5cdef54..7187cf3 100644
--- a/app/src/main/java/com/example/cosmosclient/views/RequestListActivity.java
+++ b/app/src/main/java/com/example/cosmosclient/views/RequestListActivity.java
@@ -164,6 +164,13 @@
@Override
public int compare(Request r1, Request r2) {
return r1.getDeadline().compareTo(r2.getDeadline());
+// if (r1.getDeadline() == null || r2.getDeadline() == null)
+// return 0;
+// if(r1.getDeadline().getDate() >= r2.getDeadline().getDate() || r1.getDeadline().getMonth() > r2.getDeadline().getMonth())
+// return -1;
+// if(r1.getDeadline().getDate() <= r2.getDeadline().getDate() || r1.getDeadline().getMonth() > r2.getDeadline().getMonth())
+// return 1;
+// return r1.getDeadline().compareTo(r2.getDeadline());
}
};
@@ -173,9 +180,9 @@
public int compare(Request r1, Request r2) {
if (r1.getDeadline() == null || r2.getDeadline() == null)
return 0;
- if(r1.getDeadline().getDate() >= r2.getDeadline().getDate() || r1.getDeadline().getMonth() < r2.getDeadline().getMonth())
+ if(r1.getDeadline().getDate() <= r2.getDeadline().getDate() || r1.getDeadline().getMonth() < r2.getDeadline().getMonth())
return -1;
- if(r1.getDeadline().getDate() <= r2.getDeadline().getDate() || r1.getDeadline().getMonth() < r2.getDeadline().getMonth())
+ if(r1.getDeadline().getDate() >= r2.getDeadline().getDate() || r1.getDeadline().getMonth() < r2.getDeadline().getMonth())
return 1;
return r1.getDeadline().compareTo(r2.getDeadline());
}
@@ -276,11 +283,7 @@
}
private int ConvertMonth(int i, ArrayList requestList) {
- if(requestList.get(i).getDeadline().getMonth() == 0) {
- return 12;
- } else {
- return requestList.get(i).getDeadline().getMonth();
- }
+ return requestList.get(i).getDeadline().getMonth() + 1;
}
private void AddRequestListTable(ArrayList requestList) {
diff --git a/app/src/main/java/com/example/cosmosclient/yolp/Category.java b/app/src/main/java/com/example/cosmosclient/yolp/Category.java
new file mode 100644
index 0000000..b87f744
--- /dev/null
+++ b/app/src/main/java/com/example/cosmosclient/yolp/Category.java
@@ -0,0 +1,53 @@
+package com.example.cosmosclient.yolp;
+
+import java.util.ArrayList;
+
+public class Category {
+ String name;
+ ArrayList subCategories = new ArrayList();
+
+ public Category(String name) {
+ this.name = name;
+ }
+
+ public Category(String name, ArrayList subCategoryNames) {
+ this.name = name;
+ this.subCategories = subCategoryNames;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public ArrayList getSubCategories() {
+ return subCategories;
+ }
+
+ public String[] getSubCategoryNames() {
+ ArrayList subNames = new ArrayList();
+ for (SubCategory subCategory: subCategories) {
+ subNames.add(subCategory.getSubName());
+ }
+ return subNames.toArray(new String[0]);
+ }
+
+ public void setSubCategories(ArrayList subCategories) {
+ this.subCategories = subCategories;
+ }
+
+ public void addSubCategory(SubCategory subCategory) {
+ this.subCategories.add(subCategory);
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj) return true;
+ if (obj == null || getClass() != obj.getClass()) return false;
+ Category that = (Category) obj;
+ return subCategories.equals(that.subCategories) && name.equals(that.name);
+ }
+}
diff --git a/app/src/main/java/com/example/cosmosclient/yolp/SubCategory.java b/app/src/main/java/com/example/cosmosclient/yolp/SubCategory.java
new file mode 100644
index 0000000..18ad2fa
--- /dev/null
+++ b/app/src/main/java/com/example/cosmosclient/yolp/SubCategory.java
@@ -0,0 +1,35 @@
+package com.example.cosmosclient.yolp;
+
+public class SubCategory {
+ private int code; // 業種コード
+ private String subName;
+
+ public SubCategory(int code, String name) {
+ this.code = code;
+ this.subName = name;
+ }
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public String getSubName() {
+ return subName;
+ }
+
+ public void setSubName(String subName) {
+ this.subName = subName;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj) return true;
+ if (obj == null || getClass() != obj.getClass()) return false;
+ SubCategory that = (SubCategory) obj;
+ return code == that.code && subName == that.subName;
+ }
+}
diff --git a/app/src/main/java/com/example/cosmosclient/yolp/Yolp.java b/app/src/main/java/com/example/cosmosclient/yolp/Yolp.java
new file mode 100644
index 0000000..164babc
--- /dev/null
+++ b/app/src/main/java/com/example/cosmosclient/yolp/Yolp.java
@@ -0,0 +1,88 @@
+package com.example.cosmosclient.yolp;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+
+public class Yolp {
+ private static Yolp theInstance = null;
+
+ private HashMap codeToSubcategory = new HashMap<>();
+ private HashMap nameToCategory = new HashMap<>();
+
+ private Yolp() {
+// Yolp.getInstance().getCategoryByName("ショッピング").getSubCategories();
+// for (Category c: Yolp.getInstance().getCategories()) {
+// }
+// for (String n: Yolp.getInstance().getCategoryNames()) {
+// }
+ Category cat203 = new Category("家電・携帯電話");
+ cat203.addSubCategory(new SubCategory(203001, "電化製品"));
+ cat203.addSubCategory(new SubCategory(203002,"家電量販店"));
+ cat203.addSubCategory(new SubCategory(203003,"携帯電話"));
+ cat203.addSubCategory(new SubCategory(203004, "パソコン"));
+ putNameToCategory(cat203.getName(),cat203);
+
+ Category cat205 = new Category("コンビニ・スーパー");
+ cat205.addSubCategory(new SubCategory(205001, "コンビニ"));
+ cat205.addSubCategory(new SubCategory(205002, "スーパー"));
+ putNameToCategory(cat205.getName(), cat205);
+ }
+
+ public static Yolp getInstance() {
+ if (theInstance == null) {
+ theInstance = new Yolp();
+ }
+ return theInstance;
+ }
+
+ // 業種コードから業種名3
+ public SubCategory getSubCategoryByCode(int code) {
+ return codeToSubcategory.get(code);
+ }
+
+ public HashMap getCodeToSubcategory() {
+ return codeToSubcategory;
+ }
+
+ public void setCodeToSubcategory(HashMap codeToSubcategory) {
+ this.codeToSubcategory = codeToSubcategory;
+ }
+
+ public void putCodeToSubCategory(int code, SubCategory subCategory) {
+ codeToSubcategory.put(code, subCategory);
+ }
+
+ // 業種名2から業種名3
+ public String[] getCategoryNames() {
+ return nameToCategory.keySet().toArray(new String[0]);
+ }
+
+ public Collection getCategories() {
+ return nameToCategory.values();
+ }
+
+ public Category getCategoryByName(String name) {
+ return nameToCategory.get(name);
+ }
+
+ public void setNameToCategory(HashMap nameToCategory) {
+ this.nameToCategory = nameToCategory;
+ }
+
+ public void putNameToCategory(String name, Category category) {
+ nameToCategory.put(name, category);
+ for (SubCategory s: category.getSubCategories()) {
+ codeToSubcategory.put(s.getCode(), s);
+ }
+ }
+
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ Yolp yolp = (Yolp) o;
+ return codeToSubcategory.equals(yolp.codeToSubcategory) || nameToCategory.equals(yolp.nameToCategory);
+ }
+}
diff --git a/app/src/main/res/layout/activity_add_request.xml b/app/src/main/res/layout/activity_add_request.xml
index 42bd2ba..3322631 100644
--- a/app/src/main/res/layout/activity_add_request.xml
+++ b/app/src/main/res/layout/activity_add_request.xml
@@ -81,7 +81,6 @@
android:layout_height="50dp"
android:layout_marginLeft="100dp"
android:layout_marginTop="230dp"
- android:entries="@array/location_category"
android:spinnerMode="dropdown" />
android.studio@android.com
Navigation header
Settings
-
-
- - コンビニ・スーパー
- - 家電・携帯電話
- - 病院・診療所
- - ペット・動物病院
-