diff --git a/app/src/main/java/com/example/cosmosclient/entities/MemberListResponse.java b/app/src/main/java/com/example/cosmosclient/entities/MemberListResponse.java index a143e0f..6606c3b 100644 --- a/app/src/main/java/com/example/cosmosclient/entities/MemberListResponse.java +++ b/app/src/main/java/com/example/cosmosclient/entities/MemberListResponse.java @@ -1,8 +1,10 @@ package com.example.cosmosclient.entities; import java.util.ArrayList; +import java.util.HashSet; +import java.util.Set; public class MemberListResponse { - public ArrayList member; + public ArrayList member = new ArrayList<>(); } diff --git a/app/src/main/java/com/example/cosmosclient/views/ListViewAdapter.java b/app/src/main/java/com/example/cosmosclient/views/ListViewAdapter.java index 33eeb30..99f0054 100644 --- a/app/src/main/java/com/example/cosmosclient/views/ListViewAdapter.java +++ b/app/src/main/java/com/example/cosmosclient/views/ListViewAdapter.java @@ -23,9 +23,6 @@ private String[] titles; private int[] ids; - private String[] memberName; - private String[] memberIcon; - ListViewAdapter(Context context, int itemLayoutId, String[] scenes, int[] photos) { super(); @@ -36,16 +33,6 @@ this.ids = photos; } - ListViewAdapter(Context context, int itemLayoutId, - String[] scenes, String[] photos) { - super(); - this.inflater = (LayoutInflater) - context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); - this.itemLayoutId = itemLayoutId; - this.memberName = scenes; - this.memberIcon = photos; - } - @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder; @@ -88,3 +75,5 @@ return 0; } } + + diff --git a/app/src/main/java/com/example/cosmosclient/views/MemberListActivity.java b/app/src/main/java/com/example/cosmosclient/views/MemberListActivity.java index 7a4d775..9c4a2d1 100644 --- a/app/src/main/java/com/example/cosmosclient/views/MemberListActivity.java +++ b/app/src/main/java/com/example/cosmosclient/views/MemberListActivity.java @@ -2,10 +2,13 @@ import android.content.Intent; import android.content.SharedPreferences; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; import android.net.Uri; import android.support.design.widget.FloatingActionButton; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; +import android.util.Base64; import android.view.View; import android.widget.AdapterView; import android.widget.BaseAdapter; @@ -17,9 +20,13 @@ import com.example.cosmosclient.app.Cosmos; import com.example.cosmosclient.entities.Group; import com.example.cosmosclient.entities.MemberListResponse; +import com.example.cosmosclient.entities.User; import com.example.cosmosclient.resources.GroupsRest; +import java.io.ByteArrayOutputStream; import java.util.ArrayList; +import java.util.Iterator; +import java.util.Set; import retrofit2.Call; import retrofit2.Callback; @@ -28,8 +35,9 @@ import retrofit2.converter.jackson.JacksonConverterFactory; public class MemberListActivity extends AppCompatActivity { - private String[] userName = null; - private String[] userIcon = null; + private int count; + private ArrayList userName = new ArrayList<>(); + private ArrayList userIcon = new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { @@ -50,7 +58,6 @@ String token = app.getToken(); String gId = app.getCurentGroup().getgId(); - // ListViewのインスタンスを生成 final ListView listView = findViewById(R.id.list_view); @@ -73,18 +80,40 @@ if (response.isSuccessful()) { MemberListResponse result = response.body(); - for(int i = 1; i<=result.member.size(); i++){ -// uName.add(result.members.get(i).uId); -// icon.add(result.members.get(i).iconUri); - userName[i] = result.member.get(i).name; - userIcon[i] = result.member.get(i).iconUri; +// Iterator it = result.member.iterator(); + //int i = 0; + Bitmap icon = BitmapFactory.decodeResource(getResources(),R.drawable.default_icon_image); + + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + icon.compress(Bitmap.CompressFormat.JPEG,100, baos); + byte[] b = baos.toByteArray(); + String imageEncoded = Base64.encodeToString(b, Base64.DEFAULT); +// while(it.hasNext()){ +// userName.add(it.next().name); +// if(it.next().iconUri != null) { +// userIcon.add(it.next().iconUri); +// }else{ +// userIcon.add(String.valueOf(icon)); +// } +// i++; +// } + for(int i = 0; i memberName; + private ArrayList memberIcon; + +// MemberListAdapter(Context context, int itemLayoutId, +// ArrayList scenes, ArrayList photos) { +// super(); +// this.inflater = (LayoutInflater) +// context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); +// this.itemLayoutId = itemLayoutId; +// this.memberName = scenes; +// this.memberIcon = photos; +// } + + MemberListAdapter(Context context, int itemLayoutId, + ArrayList scenes) { + //アイコン無し動作用 + super(); + this.inflater = (LayoutInflater) + context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); + this.itemLayoutId = itemLayoutId; + this.memberName = scenes; + } + + + @Override + public View getView(int position, View convertView, ViewGroup parent) { + ListViewAdapter.ViewHolder holder; + // 最初だけ View を inflate して、それを再利用する + if (convertView == null) { + // activity_main.xml に list.xml を inflate して convertView とする + convertView = inflater.inflate(itemLayoutId, parent, false); + // ViewHolder を生成 + holder = new ListViewAdapter.ViewHolder(); + holder.textView = convertView.findViewById(R.id.textView); + //holder.imageView = convertView.findViewById(R.id.imageView); + convertView.setTag(holder); + } + // holder を使って再利用 + else { + holder = (ListViewAdapter.ViewHolder) convertView.getTag(); + } + + // holder の imageView にセット + //holder.imageView.setImageResource(ids[position]); + // 現在の position にあるファイル名リストを holder の textView にセット + holder.textView.setText(memberName.get(position)); + + return convertView; + } + + @Override + public int getCount() { + // texts 配列の要素数 + return memberName.size(); + } + + @Override + public Object getItem(int position) { + return null; + } + + @Override + public long getItemId(int position) { + return 0; + } + +}