RoomViewModelの更新。MemberListのレイアウトを変えるクラスの追加、更新。 #61

Merged g_shimokawa merged 2 commits into nitta-lab-2022:master from nitta-lab-2022:RoomViewModel on 29 Sep 2022
Showing 7 changed files
View
8
.idea/misc.xml
<entry key="..\:/Users/student/Desktop/IrisClient/app/src/main/res/layout/activity_main.xml" value="0.1859375" />
<entry key="..\:/Users/student/Desktop/IrisClient/app/src/main/res/layout/activity_member_room.xml" value="0.25" />
<entry key="..\:/Users/student/Desktop/IrisClient/app/src/main/res/layout/activity_owner_room.xml" value="0.17571611799914494" />
<entry key="..\:/Users/student/Desktop/IrisClient/app/src/main/res/layout/fragment_first.xml" value="0.15433946130825138" />
<entry key="..\:/Users/student/Desktop/IrisClient/app/src/main/res/layout/member_list_layout.xml" value="0.1" />
<entry key="..\:/Users/student/Desktop/IrisClient/app/src/main/res/layout/recycler_view_item.xml" value="0.17571611799914494" />
<entry key="..\:/Users/student/StudioProjects/IrisClient/app/src/main/res/layout-land/activity_main.xml" value="0.31040564373897706" />
<entry key="..\:/Users/student/StudioProjects/IrisClient/app/src/main/res/layout-sw600dp/activity_main.xml" value="0.2189207650273224" />
<entry key="..\:/Users/student/StudioProjects/IrisClient/app/src/main/res/layout/activity_create_room.xml" value="0.29030797101449274" />
<entry key="..\:/Users/student/StudioProjects/IrisClient/app/src/main/res/layout/activity_drawing.xml" value="0.36614583333333334" />
<entry key="..\:/Users/student/StudioProjects/IrisClient/app/src/main/res/layout/activity_enter_room.xml" value="0.2791666666666667" />
<entry key="..\:/Users/student/StudioProjects/IrisClient/app/src/main/res/layout/activity_game.xml" value="0.36614583333333334" />
<entry key="..\:/Users/student/StudioProjects/IrisClient/app/src/main/res/layout/activity_main.xml" value="0.29030797101449274" />
<entry key="..\:/Users/student/StudioProjects/IrisClient/app/src/main/res/layout/activity_member_room.xml" value="0.36614583333333334" />
<entry key="..\:/Users/student/StudioProjects/IrisClient/app/src/main/res/layout/activity_owner_room.xml" value="0.36614583333333334" />
<entry key="..\:/Users/totos/StudioProjects/IrisClient/app/src/main/res/layout/activity_drawing.xml" value="0.25" />
<entry key="..\:/Users/totos/StudioProjects/IrisClient/app/src/main/res/layout/activity_member_room.xml" value="0.33" />
</map>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="11" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">
<option name="id" value="Android" />
View
3
■■
app/src/main/AndroidManifest.xml
android:exported="false" />
<activity
android:name=".MainActivity"
android:exported="true"
android:screenOrientation="landscape">
android:screenOrientation="landscape" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
 
<category android:name="android.intent.category.LAUNCHER" />
<activity
android:name=".MemberRoomActivity"
android:exported="true"
android:screenOrientation="landscape" />
 
<activity
android:name=".OwnerRoomActivity"
android:exported="true"
android:screenOrientation="landscape" />
View
84
app/src/main/java/org/ntlab/irisclient/MemberListAdapter.java
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;
 
import org.ntlab.irisclient.models.Member;
import java.util.List;
 
public class MemberListAdapter extends ArrayAdapter<String> {
 
private LayoutInflater mLayoutInflater;
static class ViewHolder {
TextView textView;
}
private LayoutInflater inflater;
private final int itemLayoutId;
private final List<String> 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<String> 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;
}
 
}
View
30
app/src/main/java/org/ntlab/irisclient/MemberRoomActivity.java
Member m2 = new Member("m2");
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<String> adapter = new MemberListAdapter(this.getApplicationContext());
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, members);
//ArrayAdapter<String> adapter = new MemberListAdapter(this.getApplicationContext());
//ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, members);
/*ArrayAdapter<String> adapter = new ArrayAdapter<String>(this.getApplicationContext(),
R.layout.member_list_layout, members);*/
/*ArrayAdapter<String> adapter = new ArrayAdapter<String>(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);
 
 
 
View
13
app/src/main/java/org/ntlab/irisclient/viewmodels/RoomViewModel.java
import retrofit2.Response;
import retrofit2.Retrofit;
import retrofit2.converter.jackson.JacksonConverterFactory;
 
public class RoomViewModel extends ViewModel {
public class RoomViewModel extends TimerViewModel {
 
//フィールド
private String rid;
final private MutableLiveData<RoomJson> roomMutableLiveData;
final private MutableLiveData<Settings> settingsMutableLiveData;
final private Retrofit retrofit;
 
.build();
}
 
//-----------------------------------------------------------------
//setter
public void setRid(String rid){
this.rid = rid;
}
// getter
public LiveData<RoomJson> getRoomLiveData() {
return this.roomMutableLiveData;
}
}
 
//-----------------------------------------------------------------------------
// updates
@Override
public void update(){
updateRoom(rid);
updateSettings(rid);
}
 
//部屋の情報の更新(RoomJson)
public void updateRoom(String rid) {
 
final RoomsRest roomsRest = retrofit.create(RoomsRest.class);
View
6
app/src/main/res/layout/activity_member_room.xml
app:srcCompat="@drawable/home_icon" />
 
<ListView
android:id="@+id/MembersList"
android:layout_width="381dp"
android:layout_width="272dp"
android:layout_height="369dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/beBlueMaster"
app:layout_constraintHorizontal_bias="0.347"
app:layout_constraintHorizontal_bias="0.404"
app:layout_constraintStart_toEndOf="@+id/homeButton"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.38" />
app:layout_constraintVertical_bias="0.619" />
 
</androidx.constraintlayout.widget.ConstraintLayout>
View
19
app/src/main/res/layout/member_list_layout.xml 0 → 100644
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:gravity="center_vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
 
<TextView android:id="@+id/textView"
 
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="25sp"
android:textColor="#000"
xmlns:android="http://schemas.android.com/apk/res/android">
 
</TextView>
 
</LinearLayout>