diff --git a/app/src/main/java/com/example/cosmosclient/entities/AddRequestsResponse.java b/app/src/main/java/com/example/cosmosclient/entities/AddRequestsResponse.java new file mode 100644 index 0000000..e7d164d --- /dev/null +++ b/app/src/main/java/com/example/cosmosclient/entities/AddRequestsResponse.java @@ -0,0 +1,16 @@ +package com.example.cosmosclient.entities; + +import java.util.Date; +import java.util.HashSet; +import java.util.Set; + +public class AddRequestsResponse { + public String rId; + public String uri; + public String product; + public Date date; + public Date deadline; + public int location; + public boolean done; + public String issuerUid; +} diff --git a/app/src/main/java/com/example/cosmosclient/entities/Request.java b/app/src/main/java/com/example/cosmosclient/entities/Request.java index 8524945..a323c01 100644 --- a/app/src/main/java/com/example/cosmosclient/entities/Request.java +++ b/app/src/main/java/com/example/cosmosclient/entities/Request.java @@ -1,25 +1,34 @@ package com.example.cosmosclient.entities; +import com.fasterxml.jackson.annotation.JsonIgnore; + import java.util.Date; public class Request { private String rId; private String uri; - private Date date; - private String IssuerUid; +// private String IssuerUid; + private UserJsonforRequests issuer; private String product; + private Date date; private Date deadline; - // private String location; +// private String location; private int location; - private String name; //消 - private boolean done = false; + private boolean done; - public Request(String product, Date deadline, int location, String name) { + public Request() { + } + + public Request(String rId, String uri/*, UserJsonforRequests issuer*/, String product, Date date, Date deadline, int location, String name, boolean done) { + this.rId = rId; + this.uri = uri; +// this.issuer = issuer; this.product = product; + this.date = date; this.deadline = deadline; this.location = location; - this.name = name; + this.done = done; } public String getrId() { @@ -30,6 +39,22 @@ this.rId = rId; } + public String getUri() { + return uri; + } + + public void setUri(String uri) { + this.uri = uri; + } + + public UserJsonforRequests getIssuer() { + return issuer; + } + + public void setIssuer(UserJsonforRequests issuer) { + this.issuer = issuer; + } + public String getProduct() { return product; } @@ -38,6 +63,14 @@ this.product = product; } + public Date getDate() { + return date; + } + + public void setDate(Date date) { + this.date = date; + } + public Date getDeadline() { return deadline; } @@ -54,12 +87,11 @@ this.location = location; } - public String getName() { - return name; + public boolean isDone() { + return done; } - public void setName(String name) { - this.name = name; + public void setDone(boolean done) { + this.done = done; } - -} \ No newline at end of file +} diff --git a/app/src/main/java/com/example/cosmosclient/entities/Requests.java b/app/src/main/java/com/example/cosmosclient/entities/Requests.java new file mode 100644 index 0000000..df14a88 --- /dev/null +++ b/app/src/main/java/com/example/cosmosclient/entities/Requests.java @@ -0,0 +1,52 @@ +package com.example.cosmosclient.entities; + +import com.fasterxml.jackson.annotation.JsonIgnore; + +import java.util.ArrayList; +import java.util.List; + +public class Requests { + private List requests; + + public Requests() { + + } + + public Requests(List requests) { + this.requests = requests; + } + + public List getRequests() { + return requests; + } + + public void setRequests(List requests) { + this.requests = requests; + } + + public void addRequests(Request r) { + requests.add(r); + } + + public Request getRequest(int index) { + return requests.get(index); + } + + public void clearRequest() { + requests.clear(); + } + + public void removeRequest(int index) { + requests.remove(index); + } + + public int getRequestCount() { + return requests.size(); + } + +// @Override +// public boolean equals(Object other) { +// if (!(other instanceof Container)) return false; +// return components.equals(((Container)other).components); +// } +} diff --git a/app/src/main/java/com/example/cosmosclient/entities/UserJsonforRequests.java b/app/src/main/java/com/example/cosmosclient/entities/UserJsonforRequests.java new file mode 100644 index 0000000..bf816eb --- /dev/null +++ b/app/src/main/java/com/example/cosmosclient/entities/UserJsonforRequests.java @@ -0,0 +1,80 @@ +package com.example.cosmosclient.entities; + +import java.util.HashSet; +import java.util.Set; + +public class UserJsonforRequests { + + /** + * USER用のクラス + * + * @param uId string //LONGに変更 + * @param uri String + * @param name String + * @param iconUri String iconの保存先 + * @param login Boolean トークンが存在するか否か + * @param tokens String userが持トークン一覧 + * + */ + + public String uId, uri, name, iconUri; + //仕様ではStringを返すため + //public Set tokens = new HashSet<>(); + //public Set tokens = new HashSet<>(); + + public UserJsonforRequests() { + + } + + public UserJsonforRequests(String name, String uId, String uri, String iconUri) { + setuId(uId); + setUri(uri); + setName(name); + setIconUri(iconUri); + } + + public String getuId() { + return uId; + } + + public void setuId(String uId) { + this.uId = uId; + } + + public String getUri() { + return uri; + } + + public void setUri(String uri) { + this.uri = uri; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getIconUri() { + return iconUri; + } + + public void setIconUri(String iconUri) { + this.iconUri = iconUri; + } + + /* + * //仕様ではStringで返すため + * public Set getTokens(){ + * return tokens; + * } + * public void setTokens(Set tokens){ + * this.tokens=tokens; + * } + * public void addToken (String token){ + * tokens.add(token); + * } + */ +} diff --git a/app/src/main/java/com/example/cosmosclient/resources/GroupsRest.java b/app/src/main/java/com/example/cosmosclient/resources/GroupsRest.java index d364c4e..34ebcfc 100644 --- a/app/src/main/java/com/example/cosmosclient/resources/GroupsRest.java +++ b/app/src/main/java/com/example/cosmosclient/resources/GroupsRest.java @@ -1,10 +1,14 @@ package com.example.cosmosclient.resources; +import com.example.cosmosclient.entities.AddRequestsResponse; import com.example.cosmosclient.entities.CreateGroupResponse; import com.example.cosmosclient.entities.Group; import com.example.cosmosclient.entities.Request; +import com.example.cosmosclient.entities.Requests; +import com.example.cosmosclient.entities.User; import java.util.ArrayList; +import java.util.Date; import retrofit2.Call; import retrofit2.http.Field; @@ -14,14 +18,19 @@ import retrofit2.http.Path; import retrofit2.http.Query; + public interface GroupsRest { @POST("groups") @FormUrlEncoded Call createGroup(@Field("name") String name, @Field("uId") String uId, @Field("token") String token); -// @GET("/{gId}/requests") -// Call> getRequestsListByGid(@Path("gid") String gid, @Query("token") String token); -// + @GET("groups/{gId}/requests") + Call getRequestsListByGid(@Path("gId") String gId, @Query("token") String token, @Query("detail") boolean detail, @Query("quantity") int quantity); + + @POST("groups/{gId}/requests") + @FormUrlEncoded + Call addRequests(@Path("gId") String gId, @Field("uId") String uId, @Field("product") String product, @Field("deadline") String deadline, @Field("location") int location, @Field("token") String token); + // @GET("{gId}/requests/{rId}") // Call getRequestsDetailByGidAndRid(@Path("gid") String gid, @Path("rid") String rid, @Query("token") String token); diff --git a/app/src/main/java/com/example/cosmosclient/views/AddRequestActivity.java b/app/src/main/java/com/example/cosmosclient/views/AddRequestActivity.java index 5a1622f..b0a300f 100644 --- a/app/src/main/java/com/example/cosmosclient/views/AddRequestActivity.java +++ b/app/src/main/java/com/example/cosmosclient/views/AddRequestActivity.java @@ -3,6 +3,7 @@ import android.app.DatePickerDialog; import android.content.Context; import android.os.Bundle; +import android.os.Handler; import android.support.v7.app.AppCompatActivity; import android.view.KeyEvent; import android.view.View; @@ -14,23 +15,32 @@ import android.widget.EditText; import android.widget.ImageButton; import android.widget.Spinner; +import android.widget.Toast; import com.example.cosmosclient.R; -import com.example.cosmosclient.entities.Request; +import com.example.cosmosclient.app.Cosmos; +import com.example.cosmosclient.entities.AddRequestsResponse; +import com.example.cosmosclient.resources.GroupsRest; import com.example.cosmosclient.yolp.Yolp; -import java.sql.Date; +import java.io.IOException; import java.util.Calendar; +import retrofit2.Call; +import retrofit2.Callback; +import retrofit2.Response; +import retrofit2.Retrofit; +import retrofit2.converter.jackson.JacksonConverterFactory; + public class AddRequestActivity extends AppCompatActivity { private InputMethodManager inputMethodManager; private ImageButton calenderButton; - private int curYear; - private int curMonth; - private int curDayOfMonth; + private Integer deadlineYear; + private Integer deadlineMonth; + private Integer deadlineDayOfMonth; private EditText editTextProduct; private EditText editTextDeadline; @@ -76,9 +86,9 @@ @Override public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) { - curYear = year; - curMonth = month; - curDayOfMonth = dayOfMonth; + deadlineYear = year; + deadlineMonth = month; + deadlineDayOfMonth = dayOfMonth; //setした日付を取得して表示 editTextDeadline.setText(String.format("%d / %02d / %02d", year, month+1, dayOfMonth)); @@ -114,47 +124,71 @@ addButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { -// //retrofitの処理 -// final Retrofit retrofit = new Retrofit.Builder() -// .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/cosmos/") -// .addConverterFactory(JacksonConverterFactory.create()) -// .build(); -// -// //interfaceから実装を取得 -// final GroupsRest requestsService = retrofit.create(GroupsRest.class); -// -// Call call = requestsService.getRequestsListByGid(); -// //サーバからのレスポンス -// call.enqueue(new Callback() { -// //成功時 -// @Override -// public void onResponse(Call call, Response response) { -// if (response.isSuccessful()) { -// Request result = response.body(); -// -// //app/Cosmosに情報保存 -// Cosmos app = (Cosmos) getApplication(); -// -// Toast.makeText(RequestListActivity.this, "RequestListに追加しました", Toast.LENGTH_SHORT).show(); -// } else { -// //onFailureでキャッチできないエラーの処理 -// Toast.makeText(RequestListActivity.this, "通信エラー", Toast.LENGTH_SHORT).show(); -// } -// } -// -// //失敗時 -// @Override -// public void onFailure(Call call, Throwable t) { -// //t.printStackTrace(); -// Toast.makeText(RequestListActivity.this, "RequestListの追加失敗しました", Toast.LENGTH_SHORT).show(); -// } -// }); + //ボタン連打防止 + addButton.setEnabled(false); + new Handler().postDelayed(new Runnable() { + public void run() { + addButton.setEnabled(true); + } + }, 3000L); // エディットテキストのテキストを取得 String inputProduct = editTextProduct.getText().toString(); - // 取得したテキストを TextView に張り付ける - RequestListActivity.requestlist.add(0, (new Request(inputProduct, new Date(curYear, curMonth, curDayOfMonth), Yolp.getInstance().getCodeBySubcategory(selectedSubCategory), "a-hongo"))); + //retrofitの処理 + final Retrofit retrofit = new Retrofit.Builder() + .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/cosmos/") +// .baseUrl("http://10.0.2.2:8080/") + .addConverterFactory(JacksonConverterFactory.create()) + .build(); + + //interfaceから実装を取得 + final GroupsRest addRequestsService = retrofit.create(GroupsRest.class); + + //RequestList取得するための必要な情報 + Cosmos app = (Cosmos) getApplication(); + final String uId = app.getuId(); + final String gId = app.getCurentGroup().getgId(); + final String token = app.getToken(); + final boolean detail = true; + String deadline = null; + + if(deadlineYear != null && deadlineMonth != null && deadlineDayOfMonth != null) { + deadline = String.format("%d-%02d-%02d %02d:%02d:%02d", deadlineYear, deadlineMonth +1, deadlineDayOfMonth, 23, 59, 59); + } + Call call = addRequestsService.addRequests(gId, uId, inputProduct, deadline, Yolp.getInstance().getCodeBySubcategory(selectedSubCategory), token); +// Call call = addRequestsService.addRequests(gId, uId, inputProduct, new Date(deadlineYear, deadlineMonth, deadlineDayOfMonth), Yolp.getInstance().getCodeBySubcategory(selectedSubCategory), token); +// Call call = addRequestsService.addRequests(gId, uId, inputProduct, Yolp.getInstance().getCodeBySubcategory(selectedSubCategory), token); + + //サーバからのレスポンス + call.enqueue(new Callback() { + //成功時 + @Override + public void onResponse(Call call, Response response) { + if (response.isSuccessful()) { + AddRequestsResponse result = response.body(); + + Toast.makeText(AddRequestActivity.this, "RequestListに追加しました", Toast.LENGTH_SHORT).show(); + } else { + try { + System.out.println(response.errorBody().string()); + } catch (IOException e) { + e.printStackTrace(); + } + + //onFailureでキャッチできないエラーの処理 + Toast.makeText(AddRequestActivity.this, "通信エラー", Toast.LENGTH_SHORT).show(); + } + } + + //失敗時 + @Override + public void onFailure(Call call, Throwable t) { + t.printStackTrace(); + Toast.makeText(AddRequestActivity.this, "RequestListの追加失敗しました", Toast.LENGTH_SHORT).show(); + } + }); + finish(); } }); 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 4e4afcd..1a223bd 100644 --- a/app/src/main/java/com/example/cosmosclient/views/RequestListActivity.java +++ b/app/src/main/java/com/example/cosmosclient/views/RequestListActivity.java @@ -26,15 +26,18 @@ import com.example.cosmosclient.R; import com.example.cosmosclient.app.Cosmos; import com.example.cosmosclient.entities.Request; +import com.example.cosmosclient.entities.Requests; import com.example.cosmosclient.resources.GroupsRest; import com.example.cosmosclient.yolp.Yolp; +import java.io.IOException; import java.text.Collator; -import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.Date; +import java.util.List; import java.util.Locale; +import java.util.TimeZone; import retrofit2.Call; import retrofit2.Callback; @@ -49,10 +52,8 @@ Toast toast; //動作テスト用 - - //Request List - public static ArrayList requestlist = new ArrayList<>(); + Requests requests; //Color制御 boolean productColorFlag = true; //買うもの (true:白, false:黒) @@ -70,6 +71,9 @@ Collator collator = Collator.getInstance(Locale.JAPANESE); +// TableLayout requesttable = (TableLayout)findViewById(R.id.RequestList); +// TableLayout accomplishedRequesttable = (TableLayout)findViewById(R.id.RequestList); + //productOnClick public View.OnClickListener productOnClick = new View.OnClickListener() { @Override @@ -83,7 +87,7 @@ product.setColorFilter(null); productColorFlag = true; ResetRequestListTable(); - AddRequestListTable(requestlist); + AddRequestListTable(requests); } else { if(deadlineRotationFlag) { deadlineRotationFlag = false; @@ -117,7 +121,7 @@ deadline.setColorFilter(null); deadlineColorFlag = true; ResetRequestListTable(); - AddRequestListTable(requestlist); + AddRequestListTable(requests); if(!deadlineRotationFlag) { deadline.setRotation(0); } @@ -158,7 +162,7 @@ location.setColorFilter(null); locationColorFlag = true; ResetRequestListTable(); - AddRequestListTable(requestlist); + AddRequestListTable(requests); } else { if(deadlineRotationFlag) { deadlineRotationFlag = false; @@ -192,7 +196,7 @@ name.setColorFilter(null); nameColorFlag = true; ResetRequestListTable(); - AddRequestListTable(requestlist); + AddRequestListTable(requests); } else { if(deadlineRotationFlag) { deadlineRotationFlag = false; @@ -213,11 +217,19 @@ } }; + //requestListRowOnClick +// public View.OnClickListener requestListRowOnClick = new View.OnClickListener() { +// @Override +// public void onClick(View view) { +// requesttable.removeView(view); +// } +// }; + //productSortComparator public Comparator productSortComparator = new Comparator() { @Override public int compare(Request r1, Request r2) { - return collator.compare(r1.getProduct().toString(), r2.getProduct().toString()); + return collator.compare(r1.getProduct(), r2.getProduct()); } }; @@ -255,7 +267,7 @@ public Comparator nameSortComparator = new Comparator() { @Override public int compare(Request r1, Request r2) { - return collator.compare(r1.getName().toString(), r2.getName().toString()); + return collator.compare(r1.getIssuer().getName(), r2.getIssuer().getName()); } }; @@ -264,68 +276,6 @@ super.onCreate(savedInstanceState); setContentView(R.layout.activity_request_list); -// //retrofitの処理 -// final Retrofit retrofit = new Retrofit.Builder() -// .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/cosmos/") -// .addConverterFactory(JacksonConverterFactory.create()) -// .build(); -// -// //interfaceから実装を取得 -// final GroupsRest requestsService = retrofit.create(GroupsRest.class); -// -// //RequestList取得するための必要な情報 -// Cosmos app = (Cosmos) getApplication(); -// final String gid = app.getCurentGroup().getgId(); -// final String token = app.getToken(); -// -// final Call> requestsListByGidCall = requestsService.getRequestsListByGid(gid, token); -// -// //サーバからのレスポンス -// requestsListByGidCall.enqueue(new Callback() { -// //成功時 -// @Override -// public void onResponse(Call call, Response response) { -// if (response.isSuccessful()) { -// Request result = response.body(); -// -// Call requestsDetailByGidAndRidcall = requestsService.getRequestsDetailByGidAndRid(gid, token, result.getrId()); -// //サーバからのレスポンス -// requestsDetailByGidAndRidcall.enqueue(new Callback() { -// //成功時 -// @Override -// public void onResponse(Call call, Response response) { -// if (response.isSuccessful()) { -// Request result = response.body(); -// -// -// Toast.makeText(RequestListActivity.this, "RequestList詳細を取得しました", Toast.LENGTH_SHORT).show(); -// } else { -// //onFailureでキャッチできないエラーの処理 -// Toast.makeText(RequestListActivity.this, "通信エラー", Toast.LENGTH_SHORT).show(); -// } -// } -// //失敗時 -// @Override -// public void onFailure(Call call, Throwable t) { -// //t.printStackTrace(); -// Toast.makeText(RequestListActivity.this, "RequestList詳細の取得失敗しました", Toast.LENGTH_SHORT).show(); -// } -// }); -// Toast.makeText(RequestListActivity.this, "RequestListを取得しました", Toast.LENGTH_SHORT).show(); -// } else { -// //onFailureでキャッチできないエラーの処理 -// Toast.makeText(RequestListActivity.this, "通信エラー", Toast.LENGTH_SHORT).show(); -// } -// } -// -// //失敗時 -// @Override -// public void onFailure(Call call, Throwable t) { -// //t.printStackTrace(); -// Toast.makeText(RequestListActivity.this, "RequestListの取得失敗しました", Toast.LENGTH_SHORT).show(); -// } -// }); - Toolbar toolbar = (Toolbar) findViewById(R.id.requestlist_toolbar); setSupportActionBar(toolbar); @@ -340,16 +290,6 @@ } }); - requestlist.clear(); - - //Add Request - requestlist.add(new Request("わさび", new Date(2019, 6, 7), 205002, "a-hongo")); - requestlist.add(new Request("ケーキ" , new Date(2019, 6, 6), 205001, "t-sugisawa")); - requestlist.add(new Request("からし", new Date(2018, 6, 4), 205002, "n-kande")); - - //Add RequestList Table - AddRequestListTable(requestlist); - //LEFT hamburger button DrawerLayout requestlistDrawer = (DrawerLayout) findViewById(R.id.request_list_drawer_layout); ActionBarDrawerToggle toggle = new ActionBarDrawerToggle( @@ -371,6 +311,62 @@ nameView = (LinearLayout)findViewById(R.id.name); nameView.setOnClickListener(nameOnClick); + } + + @Override + protected void onStart() { + super.onStart(); + + //retrofitの処理 + final Retrofit retrofit = new Retrofit.Builder() + .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/cosmos/") +// .baseUrl("http://10.0.2.2:8080/") + .addConverterFactory(JacksonConverterFactory.create()) + .build(); + + //interfaceから実装を取得 + final GroupsRest requestsService = retrofit.create(GroupsRest.class); + + //RequestList取得するための必要な情報 + Cosmos app = (Cosmos) getApplication(); + final String gId = app.getCurentGroup().getgId(); + final String token = app.getToken(); + final boolean detail = true; + int quantity = 20; + + final Call requestsListByGidCall = requestsService.getRequestsListByGid(gId, token, detail, quantity); + + //サーバからのレスポンス + requestsListByGidCall.enqueue(new Callback() { + //成功時 + @Override + public void onResponse(Call call, Response response) { + if (response.isSuccessful()) { + TimeZone.setDefault(TimeZone.getTimeZone("Asia/Tokyo")); + requests = response.body(); + + //Add RequestList Table + AddRequestListTable(requests); + + Toast.makeText(RequestListActivity.this, "RequestListを取得しました", Toast.LENGTH_SHORT).show(); + } else { + try { + System.out.println("a" + response.errorBody().string()); + } catch (IOException e) { + e.printStackTrace(); + } + //onFailureでキャッチできないエラーの処理 + Toast.makeText(RequestListActivity.this, "通信エラー", Toast.LENGTH_SHORT).show(); + } + } + + //失敗時 + @Override + public void onFailure(Call call, Throwable t) { + t.printStackTrace(); + Toast.makeText(RequestListActivity.this, "RequestListの取得失敗しました", Toast.LENGTH_SHORT).show(); + } + }); } @@ -380,8 +376,10 @@ ResetRequestListTable(); - //Add RequestList Table - AddRequestListTable(requestlist); + requests.clearRequest(); + +// //Add RequestList Table +// AddRequestListTable(requests); } @SuppressWarnings("StatementWithEmptyBody") @@ -411,21 +409,21 @@ return true; } - private int ConvertMonth(int i, ArrayList requestList) { - return requestList.get(i).getDeadline().getMonth() + 1; + private int ConvertMonth(int i, Requests requests) { + return requests.getRequest(i).getDeadline().getMonth() + 1; } @TargetApi(Build.VERSION_CODES.O) - private void AddRequestListTable(ArrayList requestList) { + private void AddRequestListTable(Requests requests) { Date now = new Date(); TableLayout requesttable = (TableLayout)findViewById(R.id.RequestList); requesttable.setShrinkAllColumns(true); - for (int i = 0; i < requestList.size(); i++) { + for (int i = 0; i < requests.getRequestCount(); i++) { TableRow tableRow = new TableRow(this); TextView textProduct = new TextView(this); - textProduct.setText(requestList.get(i).getProduct()); + textProduct.setText(requests.getRequest(i).getProduct()); textProduct.setTextSize(20); textProduct.setHeight(150); textProduct.setGravity(Gravity.CENTER); @@ -441,7 +439,9 @@ // if (requestList.get(i).getDeadline().getMonth() == now.getMonth() && requestList.get(i).getDeadline().getDate() - now.getDate() == 1) { // textDeadline.setText("明日まで"); // } - textDeadline.setText(ConvertMonth(i, requestList) + "/" + requestList.get(i).getDeadline().getDate()); + if(requests.getRequest(i).getDeadline() != null) { + textDeadline.setText(ConvertMonth(i, requests) + "/" + requests.getRequest(i).getDeadline().getDate()); + } // textDeadline.setText(now.getMonth() + "/" + now.getDate()); textDeadline.setTextSize(20); textDeadline.setHeight(150); @@ -449,23 +449,29 @@ tableRow.addView(textDeadline, new TableRow.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT)); TextView textLocation = new TextView(this); - textLocation.setText(Yolp.getInstance().getSubCategoryByCode(requestList.get(i).getLocation()).getSubName()); + if(Yolp.getInstance().getSubCategoryByCode(requests.getRequest(i).getLocation()) != null) { + textLocation.setText(Yolp.getInstance().getSubCategoryByCode(requests.getRequest(i).getLocation()).getSubName()); + } + textLocation.setTextSize(20); textLocation.setHeight(150); textLocation.setGravity(Gravity.CENTER); tableRow.addView(textLocation, new TableRow.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT)); TextView textName = new TextView(this); - textName.setText(requestList.get(i).getName()); + textName.setText(requests.getRequest(i).getIssuer().getName()); textName.setTextSize(20); textName.setHeight(150); textName.setGravity(Gravity.CENTER); tableRow.addView(textName, new TableRow.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT)); +// tableRow.setOnClickListener(requestListRowOnClick); + requesttable.addView(tableRow); } } + // Can not to reset! private void ResetRequestListTable() { TableLayout requesttable = (TableLayout)findViewById(R.id.RequestList); int childCount = requesttable.getChildCount(); @@ -476,38 +482,38 @@ } } - private ArrayList SortProduct() { - ArrayList productsortRequestlist = (ArrayList) requestlist.clone(); + private Requests SortProduct() { + List productsortRequestlist = (List) requests.getRequests(); Collections.sort(productsortRequestlist, productSortComparator); - return productsortRequestlist; + return new Requests(productsortRequestlist); } - private ArrayList SortDeadline() { - ArrayList deadlinesortRequestlist = (ArrayList) requestlist.clone(); + private Requests SortDeadline() { + List deadlinesortRequestlist = (List) requests.getRequests(); Collections.sort(deadlinesortRequestlist, deadlineSortComparator); - return deadlinesortRequestlist; + return new Requests(deadlinesortRequestlist); } - private ArrayList ReverseDeadline() { - ArrayList deadlinesortRequestlist = (ArrayList) requestlist.clone(); + private Requests ReverseDeadline() { + List deadlinesortRequestlist = (List) requests.getRequests(); Collections.sort(deadlinesortRequestlist, deadlineReverseComparator); - return deadlinesortRequestlist; + return new Requests(deadlinesortRequestlist); } - private ArrayList SortLocation() { - ArrayList locationsortRequestlist = (ArrayList) requestlist.clone(); + private Requests SortLocation() { + List locationsortRequestlist = (List) requests.getRequests(); Collections.sort(locationsortRequestlist, locationSortComparator); - return locationsortRequestlist; + return new Requests(locationsortRequestlist); } - private ArrayList SortName() { - ArrayList namesortRequestlist = (ArrayList) requestlist.clone(); + private Requests SortName() { + List namesortRequestlist = (List) requests.getRequests(); Collections.sort(namesortRequestlist, nameSortComparator); - return namesortRequestlist; + return new Requests(namesortRequestlist); } } \ No newline at end of file diff --git a/app/src/main/java/com/example/cosmosclient/yolp/Yolp.java b/app/src/main/java/com/example/cosmosclient/yolp/Yolp.java index f317028..edcf194 100644 --- a/app/src/main/java/com/example/cosmosclient/yolp/Yolp.java +++ b/app/src/main/java/com/example/cosmosclient/yolp/Yolp.java @@ -56,6 +56,7 @@ return code; } + public void setCodeToSubcategory(HashMap codeToSubcategory) { this.codeToSubcategory = codeToSubcategory; } @@ -64,6 +65,7 @@ codeToSubcategory.put(code, subCategory); } + // 業種名2から業種名3 public String[] getCategoryNames() { return nameToCategory.keySet().toArray(new String[0]); diff --git a/app/src/main/res/layout/content_request_list.xml b/app/src/main/res/layout/content_request_list.xml index 7699cd2..c894494 100644 --- a/app/src/main/res/layout/content_request_list.xml +++ b/app/src/main/res/layout/content_request_list.xml @@ -66,7 +66,6 @@ android:layout_weight="1" android:orientation="horizontal"> -