Newer
Older
IrisClient / app / src / main / java / org / ntlab / irisclient / DrawingCardFragment.java
package org.ntlab.irisclient;
import android.content.res.Resources;
import android.graphics.drawable.Drawable;
import android.media.Image;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageButton;

import androidx.fragment.app.Fragment;

public class DrawingCardFragment extends Fragment {

    private ImageButton[] imageButtons;
    private Drawable[] images;

    // コンストラクタ
    public static DrawingCardFragment newInstance(String str){
        // インスタンス生成
        DrawingCardFragment fragment = new DrawingCardFragment();
        return fragment;
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        super.onCreateView(inflater, container, savedInstanceState);

        Resources resources = getResources();
        View view = inflater.inflate(R.layout.fragment_card_drawing,  container, false);

        // ImageButton16個の型を使いまわしやすいように配列で使用
        imageButtons = new ImageButton[]{
                (ImageButton) view.findViewById(R.id.imageButton00),
                (ImageButton) view.findViewById(R.id.imageButton01),
                (ImageButton) view.findViewById(R.id.imageButton02),
                (ImageButton) view.findViewById(R.id.imageButton03),
                (ImageButton) view.findViewById(R.id.imageButton10),
                (ImageButton) view.findViewById(R.id.imageButton11),
                (ImageButton) view.findViewById(R.id.imageButton12),
                (ImageButton) view.findViewById(R.id.imageButton13),
                (ImageButton) view.findViewById(R.id.imageButton20),
                (ImageButton) view.findViewById(R.id.imageButton21),
                (ImageButton) view.findViewById(R.id.imageButton22),
                (ImageButton) view.findViewById(R.id.imageButton23),
                (ImageButton) view.findViewById(R.id.imageButton30),
                (ImageButton) view.findViewById(R.id.imageButton31),
                (ImageButton) view.findViewById(R.id.imageButton32),
                (ImageButton) view.findViewById(R.id.imageButton33)
        };

        // 16枚表示させるImage画像の配列
        images = new Drawable[]{
                resources.getDrawable(R.drawable.test02),
                resources.getDrawable(R.drawable.test02),
                resources.getDrawable(R.drawable.test02),
                resources.getDrawable(R.drawable.test02),
                resources.getDrawable(R.drawable.test02),
                resources.getDrawable(R.drawable.test02),
                resources.getDrawable(R.drawable.test02),
                resources.getDrawable(R.drawable.test02),
                resources.getDrawable(R.drawable.test02),
                resources.getDrawable(R.drawable.test02),
                resources.getDrawable(R.drawable.test02),
                resources.getDrawable(R.drawable.test02),
                resources.getDrawable(R.drawable.test02),
                resources.getDrawable(R.drawable.test02),
                resources.getDrawable(R.drawable.test02),
                resources.getDrawable(R.drawable.test02)
        };

        for(int i=0; i< imageButtons.length; i++) {
            imageButtons[i].setOnClickListener(this::onClick);
            imageButtons[i].setBackground(images[i]);
        };

        return view;
    }

    public void onClick(View v) {

        for(int i=0; i< imageButtons.length; i++) {
            if(v.getId() == imageButtons[i].getId())  {
                System.out.println( "タップされたボタンの配列番号:" + i);
            }
        }

    }
}