Newer
Older
CosmosClient / app / src / main / java / com / example / cosmosclient / views / AddMemberActivity.java
package com.example.cosmosclient.views;

import android.content.ActivityNotFoundException;
import android.content.Intent;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.RelativeLayout;
import android.widget.TextView;

import com.example.cosmosclient.R;
import com.example.cosmosclient.app.Cosmos;
import com.example.cosmosclient.entities.Group;

public class AddMemberActivity extends AppCompatActivity implements AdapterView.OnItemClickListener {

        private static final String[] scenes = {
                "QRコードで招待",
                "IDで招待",
                "LINEで招待"
        };

        // ちょっと冗長的ですが分かり易くするために
        private static final int[] photos = {
                R.drawable.camera_image,
                R.drawable.search_image,
                R.drawable.line_image,
        };

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_add_member);
            /*ここからグループ名表示*/
            TextView groupName = findViewById(R.id.groupName);
            Cosmos app = (Cosmos) getApplication();
            Group curentGroup = app.getCurentGroup();
            groupName.setText(curentGroup.getName());
            /*終了*/
            // ListViewのインスタンスを生成
            ListView listView = findViewById(R.id.list_view);

            // BaseAdapter を継承したadapterのインスタンスを生成
            // レイアウトファイル list.xml を activity_main.xml に
            // inflate するためにadapterに引数として渡す
            BaseAdapter adapter = new ListViewAdapter(this.getApplicationContext(),
                    R.layout.list, scenes, photos);

            // ListViewにadapterをセット
            listView.setAdapter(adapter);

            // クリックリスナーをセット
            listView.setOnItemClickListener(this);

        }

        @Override
        public void onItemClick(AdapterView<?> parent, View v,
        int position, long id) {
            Cosmos app = (Cosmos) getApplication();
            Group curentGroup = app.getCurentGroup();

            Intent intent = null;
            // clickされたpositionのtextとphotoのID
            String selectedText = scenes[position];
            if(selectedText.contains("QR")==true){
                intent = new Intent(this.getApplicationContext(), DisplayQRActivity.class);
            }else if(selectedText.contains("ID")==true){
                intent = new Intent(this.getApplicationContext(), DisplayGroupIDActivity.class);
            }else{
//                intent = new Intent(this.getApplicationContext(), DisplayQRActivity.class);
                String URL="line://msg/text/あなたは"+curentGroup.getName()+"に招待されています。%0D%0A今すぐアプリを立ち上げて、下記のIDを入力して今すぐ参加しよう!%0D%0A"+curentGroup.getgId();
                intent = new Intent(Intent.ACTION_VIEW, Uri.parse(URL));

            }

//            Intent intent = new Intent(this.getApplicationContext(), DisplayQRActivity.class);
                // SubActivityへ遷移
            try {
                startActivity(intent);
            }
            //Lineがダウンロードされいない場合に入る
            catch (ActivityNotFoundException e) {
                // ブラウザアプリが有効でない場合はここに入る
                // 必要ならエラー表示とかする
                intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=jp.naver.line.android&hl=ja"));
                startActivity(intent);

            }
        }

}