Testアクティビティを改良しました #40

Merged h-maehara merged 1 commit into nitta-lab-2023:master from nitta-lab-2023:test2 on 13 Jun 2023
Showing 2 changed files
View
57
app/src/main/java/com/example/nemophila/TestActivity.java
import androidx.lifecycle.ViewModelProvider;
 
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Toast;
import android.widget.Spinner;
 
import com.example.nemophila.entities.Shop;
import com.example.nemophila.viewmodels.AccountViewModel;
import com.example.nemophila.viewmodels.PostsViewModel;
import com.example.nemophila.viewmodels.ShopsViewModel;
 
import java.util.Collection;
public class TestActivity extends AppCompatActivity {
int position; //テスト用
 
public class TestActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
 
//テスト用ViewModel(ViewModelが増えた場合はここで準備。spinnerItemに名前も追加すること)
//RoomViewModelへのアクセス
ShopsViewModel shopsViewModel = new ViewModelProvider(this).get(ShopsViewModel.class);
AccountViewModel accountViewModel = new ViewModelProvider(this).get(AccountViewModel.class);
PostsViewModel postsViewModel = new ViewModelProvider(this).get(PostsViewModel.class);
 
//テスト用のspinner
Spinner spinner = findViewById(R.id.testspinner);
String[] spinnerItems = {"ShopsViewModel", "AccountViewModel", "PostsViewModel"}; //ここに名前を追加
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, spinnerItems);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
position = i;
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
 
}
});
 
// setViewModelのテスト用
Button setViewModelButton = (Button)findViewById(R.id.setViewModel);
setViewModelButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
shopsViewModel.setViewArea(20.0, 40.0, 10.0, 30.0);
switch (position){
//ここにテストしたい処理を追加する( 0はShopsViewModel、1はAccountViewModel、2はPostsViewModel)
case 0:
shopsViewModel.setViewArea(20.0, 40.0, 10.0, 30.0);
break;
case 1:
//accountViewModel.getAccount("1111");
break;
case 2:
//postsViewModel.fetchPosts("1");
break;
}
}
});
}
}
View
9
app/src/main/res/layout/activity_test.xml
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".TestActivity">
 
<Spinner
android:id="@+id/testspinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="30dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="@+id/setViewModel"
app:layout_constraintEnd_toEndOf="@+id/setViewModel"/>
 
<Button
android:id="@+id/setViewModel"
android:layout_width="wrap_content"