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 9c4a2d1..2f968f3 100644 --- a/app/src/main/java/com/example/cosmosclient/views/MemberListActivity.java +++ b/app/src/main/java/com/example/cosmosclient/views/MemberListActivity.java @@ -44,12 +44,14 @@ super.onCreate(savedInstanceState); setContentView(R.layout.activity_member_list); + //メンバー追加ボタン処理 FloatingActionButton fab = findViewById(R.id.addrequest_button); fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - - startActivity(new Intent(MemberListActivity.this, AddMemberActivity.class)); + startActivity(new Intent(MemberListActivity.this, + AddMemberActivity.class)); + finish(); } }); @@ -62,12 +64,12 @@ final ListView listView = findViewById(R.id.list_view); //retrofitの処理 - Retrofit retrofit = new Retrofit.Builder() + final Retrofit retrofit = new Retrofit.Builder() .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/cosmos/") .addConverterFactory(JacksonConverterFactory.create()) .build(); //interfaceから実装を取得 - GroupsRest MemberListService = retrofit.create(GroupsRest.class); + final GroupsRest MemberListService = retrofit.create(GroupsRest.class); //API呼び出しのための値入力 Call call = MemberListService.getMemberListByGid(gId,token); @@ -81,13 +83,16 @@ MemberListResponse result = response.body(); // Iterator it = result.member.iterator(); - //int i = 0; - Bitmap icon = BitmapFactory.decodeResource(getResources(),R.drawable.default_icon_image); +// int i = 0; + //画像をBase64に変換 + 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) { @@ -97,6 +102,8 @@ // } // i++; // } + + //アイコンが未設定ならデフォルト画像を設定 for(int i = 0; i parent, View v, -// int position, long id) { -// -// -// Intent intent = null; -// // clickされたpositionのtextとphotoのID -// String selectedText = scenes[position]; -// if(selectedText.contains("QR")==true){ -// intent = new Intent(this.getApplicationContext(), DisplayQRActivity.class); -// }else if(selectedText.contains("ID")==true){ -// intent = new Intent(this.getApplicationContext(), DisplayQRActivity.class); -// }else{ -//// intent = new Intent(this.getApplicationContext(), DisplayQRActivity.class); -// Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("line://msg/text/?GroupID")); -// startActivity(i); -// } -// -//// Intent intent = new Intent(this.getApplicationContext(), DisplayQRActivity.class); -// // SubActivityへ遷移 -// startActivity(intent); -// } } diff --git a/app/src/main/java/com/example/cosmosclient/views/MemberListAdapter.java b/app/src/main/java/com/example/cosmosclient/views/MemberListAdapter.java index 76478f4..7dad943 100644 --- a/app/src/main/java/com/example/cosmosclient/views/MemberListAdapter.java +++ b/app/src/main/java/com/example/cosmosclient/views/MemberListAdapter.java @@ -1,6 +1,9 @@ package com.example.cosmosclient.views; import android.content.Context; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.util.Base64; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -20,50 +23,60 @@ private LayoutInflater inflater; private int itemLayoutId; - private ArrayList memberName; - private ArrayList memberIcon; + private ArrayList memberName = new ArrayList<>(); + private ArrayList memberIcon = new ArrayList<>(); + + MemberListAdapter(Context context, int itemLayoutId, + ArrayList scenes, ArrayList photos) { + super(); + ArrayList b = new ArrayList<>(); + Bitmap bitmap; + this.inflater = (LayoutInflater) + context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); + this.itemLayoutId = itemLayoutId; + + for(int i = 0; i scenes, ArrayList photos) { +// ArrayList scenes) { +// //アイコン無し動作用 // 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; + MemberListAdapter.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 = new MemberListAdapter.ViewHolder(); holder.textView = convertView.findViewById(R.id.textView); - //holder.imageView = convertView.findViewById(R.id.imageView); + holder.imageView = convertView.findViewById(R.id.imageView); convertView.setTag(holder); } // holder を使って再利用 else { - holder = (ListViewAdapter.ViewHolder) convertView.getTag(); + holder = (MemberListAdapter.ViewHolder) convertView.getTag(); } // holder の imageView にセット - //holder.imageView.setImageResource(ids[position]); + holder.imageView.setImageBitmap(memberIcon.get(position)); // 現在の position にあるファイル名リストを holder の textView にセット holder.textView.setText(memberName.get(position));