package com.example.nemophila; import androidx.appcompat.app.AppCompatActivity; 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.Spinner; import com.example.nemophila.viewmodels.AccountViewModel; import com.example.nemophila.viewmodels.PostsViewModel; import com.example.nemophila.viewmodels.ShopsViewModel; public class TestActivity extends AppCompatActivity { int position; //テスト用 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_test); Nemophila nemophila = (Nemophila) this.getApplication(); //テスト用ViewModel(ViewModelが増えた場合はここで準備。spinnerItemに名前も追加すること) //ViewModelへのアクセス 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) { switch (position){ //ここにテストしたい処理を追加する( 0はShopsViewModel、1はAccountViewModel、2はPostsViewModel) case 0: shopsViewModel.setViewArea(20.0, 40.0, 10.0, 30.0); // shopsViewModel.start(500, nemophila); break; case 1: //accountViewModel.getAccount("1111"); break; case 2: postsViewModel.loadShopPost("151347fa-2c90-44d7-ba48-f23f475b910d"); break; } } }); } }