diff --git a/.idea/misc.xml b/.idea/misc.xml index 7dae684..c75bd47 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -12,22 +12,18 @@ + - - - - - - + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index df9f9d6..6168258 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -20,7 +20,7 @@ + android:screenOrientation="landscape" > @@ -39,6 +39,7 @@ android:name=".MemberRoomActivity" android:exported="true" android:screenOrientation="landscape" /> + { - private LayoutInflater mLayoutInflater; + static class ViewHolder { + TextView textView; + } + private LayoutInflater inflater; + private final int itemLayoutId; + private final List memberList; final int redColor = Color.rgb(172, 32,32); final int blueColor = Color.rgb(32, 32, 172); final int grayColor = Color.rgb(172, 172, 172); - public MemberListAdapter(Context context) { + public MemberListAdapter(Context context, int itemLayoutId, + List members) { super(context, 0); - mLayoutInflater = LayoutInflater.from(context); + this.inflater = (LayoutInflater) context.getSystemService( + Context.LAYOUT_INFLATER_SERVICE); + this.itemLayoutId = itemLayoutId; + this.memberList = members; } @Override public View getView(int position, View convertView, ViewGroup parent) { + ViewHolder holder; + + if (convertView == null) { + // activity_member_room.xml に member_list_layout.xml を inflate して convertView とする + convertView = inflater.inflate(itemLayoutId, parent, false); + + // ViewHolder を生成 + holder = new ViewHolder(); + holder.textView = convertView.findViewById(R.id.textView); + + convertView.setTag(holder); + + if (position == 0) { + // 背景色を変える + convertView.setBackgroundColor(Color.rgb(255, 127, 255)); + }else{ + convertView.setBackgroundColor(Color.rgb(0, 125, 0)); + } + } + else { + holder = (ViewHolder) convertView.getTag(); + } + + // 現在の position にあるファイル名リストを holder の textView にセット + holder.textView.setText(memberList.get(position)); + + return convertView; +/* View root = mLayoutInflater.inflate(R.layout.activity_member_room, null); String item = getItem(position); root.setBackgroundColor(redColor); +*/ + } - return root; + @Override + public int getCount() { + // texts 配列の要素数 + return memberList.size(); + } + + @Override + public String getItem(int position) { + return null; + } + + @Override + public long getItemId(int position) { + return 0; } } diff --git a/app/src/main/java/org/ntlab/irisclient/MemberRoomActivity.java b/app/src/main/java/org/ntlab/irisclient/MemberRoomActivity.java index 2e2d6cb..9315482 100644 --- a/app/src/main/java/org/ntlab/irisclient/MemberRoomActivity.java +++ b/app/src/main/java/org/ntlab/irisclient/MemberRoomActivity.java @@ -63,14 +63,33 @@ m2.setBelongs("b"); m2.setMaster(true); + Member m3 = new Member("m3"); + m2.setBelongs("r"); + m2.setMaster(false); + Member m4 = new Member("m4"); + m2.setBelongs("b"); + m2.setMaster(false); + Member m5 = new Member("m5"); + m2.setBelongs("r"); + m2.setMaster(false); members.add(m1.getNickname()); members.add(m2.getNickname()); + members.add(m3.getNickname()); + members.add(m4.getNickname()); + members.add(m5.getNickname()); ListView membersList = (ListView) findViewById(R.id.MembersList); - // ArrayAdapter adapter = new MemberListAdapter(this.getApplicationContext()); - ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1, members); + //ArrayAdapter adapter = new MemberListAdapter(this.getApplicationContext()); + //ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1, members); + /*ArrayAdapter adapter = new ArrayAdapter(this.getApplicationContext(), + R.layout.member_list_layout, members);*/ + /*ArrayAdapter adapter = new ArrayAdapter(this.getApplicationContext(), + android.R.layout.simple_list_item_1, members);*/ + + BaseAdapter adapter = new MemberListAdapter(this.getApplicationContext(), + R.layout.member_list_layout, members); membersList.setAdapter(adapter); diff --git a/app/src/main/java/org/ntlab/irisclient/viewmodels/RoomViewModel.java b/app/src/main/java/org/ntlab/irisclient/viewmodels/RoomViewModel.java index 10f4836..bc884f8 100644 --- a/app/src/main/java/org/ntlab/irisclient/viewmodels/RoomViewModel.java +++ b/app/src/main/java/org/ntlab/irisclient/viewmodels/RoomViewModel.java @@ -17,9 +17,10 @@ import retrofit2.Retrofit; import retrofit2.converter.jackson.JacksonConverterFactory; -public class RoomViewModel extends ViewModel { +public class RoomViewModel extends TimerViewModel { //フィールド + private String rid; final private MutableLiveData roomMutableLiveData; final private MutableLiveData settingsMutableLiveData; final private Retrofit retrofit; @@ -40,6 +41,10 @@ } //----------------------------------------------------------------- + //setter + public void setRid(String rid){ + this.rid = rid; + } // getter public LiveData getRoomLiveData() { return this.roomMutableLiveData; @@ -50,6 +55,12 @@ //----------------------------------------------------------------------------- // updates + @Override + public void update(){ + updateRoom(rid); + updateSettings(rid); + } + //部屋の情報の更新(RoomJson) public void updateRoom(String rid) { diff --git a/app/src/main/res/layout/activity_member_room.xml b/app/src/main/res/layout/activity_member_room.xml index 5880112..09afd02 100644 --- a/app/src/main/res/layout/activity_member_room.xml +++ b/app/src/main/res/layout/activity_member_room.xml @@ -101,13 +101,13 @@ + app:layout_constraintVertical_bias="0.619" /> \ No newline at end of file diff --git a/app/src/main/res/layout/member_list_layout.xml b/app/src/main/res/layout/member_list_layout.xml new file mode 100644 index 0000000..9aaf809 --- /dev/null +++ b/app/src/main/res/layout/member_list_layout.xml @@ -0,0 +1,18 @@ + + + + + + + +