Newer
Older
NemophilaClient / app / src / main / java / com / example / nemophila / TestActivity.java
package com.example.nemophila;

import androidx.appcompat.app.AppCompatActivity;
import androidx.lifecycle.MutableLiveData;
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);

        //テスト用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) {
                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;
                }
            }
        });
    }
}