Java 如何删除对话框片段并直接转到spesific类使用意图

Java 如何删除对话框片段并直接转到spesific类使用意图,java,android,android-fragments,android-intent,Java,Android,Android Fragments,Android Intent,我有一个android应用程序,它使用对话框片段显示2个类的选择,并显示如下 还有这个节目, package com.pakarpadi.jonhar.pakarpadi.MenuKonsultasi; import android.app.Dialog; import android.content.DialogInterface; import android.content.Intent; import android.os.Bundle; import android.support

我有一个android应用程序,它使用对话框片段显示2个类的选择,并显示如下

还有这个节目,

package com.pakarpadi.jonhar.pakarpadi.MenuKonsultasi;

import android.app.Dialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.GridView;

import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.pakarpadi.jonhar.pakarpadi.R;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

public class KonsultasiActivity extends AppCompatActivity {

    List<Padi> padiArr;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_konsultasi);

        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        getSupportActionBar().setLogo(R.mipmap.ic_launcher);
        getSupportActionBar().setDisplayUseLogoEnabled(true);
        getSupportActionBar().setDisplayHomeAsUpEnabled(false);

        setTitle("  Konsultasi Penyakit");

        try {
            initiateData();
        } catch (IOException e) {
            e.printStackTrace();
        }

        GridView gridview = (GridView) findViewById(R.id.gridView);
        gridview.setAdapter(new PadiAdapter(this, R.layout.padi_item, padiArr));
        gridview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                android.support.v4.app.FragmentManager fm = getSupportFragmentManager();
                PilihanKonsultasiDialog dialogFragment = PilihanKonsultasiDialog.newInstance(padiArr.get(position));
                dialogFragment.show(fm, "Pilihan Konsultasi");
            }
        });
    }

    private void initiateData() throws JsonParseException, JsonMappingException, IOException {
        ObjectMapper mapper = new ObjectMapper();
        String jsonString = loadJSONFromAsset();
        padiArr = mapper.readValue(jsonString, mapper.getTypeFactory().constructCollectionType(List.class, Padi.class));
    }

    private String loadJSONFromAsset() {
        String json = null;
        try {
            InputStream is = this.getAssets().open("padi.json");
            int size = is.available();
            byte[] buffer = new byte[size];
            is.read(buffer);
            is.close();
            json = new String(buffer, "UTF-8");
        } catch (IOException ex) {
            ex.printStackTrace();
            return null;
        }
        return json;
    }

    public static class PilihanKonsultasiDialog extends DialogFragment {

        Padi padi;

        public PilihanKonsultasiDialog() {
            // Required empty public constructor
        }

        public static PilihanKonsultasiDialog newInstance(Padi padi){
            PilihanKonsultasiDialog fragment = new PilihanKonsultasiDialog();
            Bundle args = new Bundle();
            args.putParcelable("padi", padi);
            fragment.setArguments(args);
            return fragment;
        }

        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            if (getArguments() != null) {
                padi = getArguments().getParcelable("padi");
            }



            }






        @Override
        public Dialog onCreateDialog(Bundle savedInstanceState) {
            String[] pilihan = {"Berdasarkan Penyakit","Berdasarkan Gejala"};
            AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
            builder.setTitle("Pilihan Konsultasi");
            builder.setItems(pilihan, new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {
                    Intent i;
                    switch (which){
                        case 1:
                            i = new Intent(getActivity(), KonsultasiBerdasarkanGejalaActivity.class);
                            i.putExtra("padiObj", padi);
                            startActivity(i);
                            break;
                        case 0:
                            i = new Intent(getActivity(), KonsultasiBerdasarkanPenyakitActivity.class);
                            i.putExtra("padiObj", padi);
                            startActivity(i);
                            break;
                    }
                }
            });
            return builder.create();
        }
    }
}
package com.pakarpadi.jonhar.pakarpadi.MenuKonsultasi;
导入android.app.Dialog;
导入android.content.DialogInterface;
导入android.content.Intent;
导入android.os.Bundle;
导入android.support.v4.app.DialogFragment;
导入android.support.v7.app.AlertDialog;
导入android.support.v7.app.AppActivity;
导入android.support.v7.widget.Toolbar;
导入android.view.view;
导入android.widget.AdapterView;
导入android.widget.Button;
导入android.widget.GridView;
导入com.fasterxml.jackson.core.JsonParseException;
导入com.fasterxml.jackson.databind.JsonMappingException;
导入com.fasterxml.jackson.databind.ObjectMapper;
导入com.pakarpadi.jonhar.pakarpadi.R;
导入java.io.IOException;
导入java.io.InputStream;
导入java.util.List;
公共类KonsultasiActivity扩展了appcompativity{
名单助理;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_konsultasi);
Toolbar Toolbar=(Toolbar)findViewById(R.id.Toolbar);
设置支持操作栏(工具栏);
getSupportActionBar().setLogo(R.mipmap.ic_启动器);
getSupportActionBar().setDisplayUseLogoEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(false);
setTitle(“Konsultasi Penyakit”);
试一试{
起始数据();
}捕获(IOE异常){
e、 printStackTrace();
}
GridView GridView=(GridView)findViewById(R.id.GridView);
setAdapter(新的PadiAdapter(this,R.layout.padi_项,padiArr));
setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
android.support.v4.app.FragmentManager fm=getSupportFragmentManager();
PilihanKonsultasiDialog dialogFragment=PilihanKonsultasiDialog.newInstance(padiArr.get(position));
dialogFragment.show(fm,“Pilihan Konsultasi”);
}
});
}
private void initialedata()抛出JsonParseException、JsonMappingException、IOException{
ObjectMapper mapper=新的ObjectMapper();
字符串jsonString=loadJSONFromAsset();
padiArr=mapper.readValue(jsonString,mapper.getTypeFactory().ConstructionCollectionType(List.class,Padi.class));
}
私有字符串loadJSONFromAsset(){
字符串json=null;
试一试{
InputStream is=this.getAssets().open(“padi.json”);
int size=is.available();
字节[]缓冲区=新字节[大小];
is.read(缓冲区);
is.close();
json=新字符串(缓冲区,“UTF-8”);
}捕获(IOEX异常){
例如printStackTrace();
返回null;
}
返回json;
}
公共静态类PilihanKonsultasiDialog扩展了DialogFragment{
Padi-Padi;
公共PilihanKonsultasiDialog(){
//必需的空公共构造函数
}
公共静态PilihanKonsultasiDialog新实例(Padi Padi){
PilihanKonsultasiDialog片段=新的PilihanKonsultasiDialog();
Bundle args=新Bundle();
args.putParcelable(“padi”,padi);
fragment.setArguments(args);
返回片段;
}
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
如果(getArguments()!=null){
padi=getArguments().getParcelable(“padi”);
}
}
@凌驾
创建对话框上的公共对话框(Bundle savedInstanceState){
字符串[]pilihan={“Berdasarkan Penyakit”,“Berdasarkan Gejala”};
AlertDialog.Builder=新建AlertDialog.Builder(getActivity());
建筑商名称(“Pilihan Konsultasi”);
setItems(pilihan,新的DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog,int which){
意图一;
开关(哪个){
案例1:
i=新意图(getActivity(),KonsultasiBerdasarkanGejalaActivity.class);
i、 putExtra(“padiObj”,padi);
星触觉(i);
打破
案例0:
i=新意图(getActivity(),KonsultasiBerdasarkanPenyakitActivity.class);
i、 putExtra(“padiObj”,padi);
星触觉(i);
打破
}
}
});
返回builder.create();
}
}
}
这就是我想链接的活动

package com.pakarpadi.jonhar.pakarpadi.MenuKonsultasi;

import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ScrollView;
import android.widget.TextView;
import android.widget.Toast;

import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.pakarpadi.jonhar.pakarpadi.R;

import org.json.JSONArray;

import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

public class KonsultasiBerdasarkanGejalaActivity extends AppCompatActivity {

    public static final String ASK_GEJALA = "Apakah terdapat tanda-tanda ini?" ;

    int qIndex = 0;
    int level = 0;
    TextView header;
    TextView ask;
    ImageView askgambar;
    Button ya;
    Button tidak;
    ScrollView lyContainer;


    boolean calculate = false;
    boolean fromTidak = false;
    int calcCount = 0;
    int yaCount = 0;
    int tidakCount = 0;

//    String[] colors = {"#FFD3CC02","#FFF92323","#FF6581FC","#FFD104D8","#FFFFFFFF"};

    boolean lastQuestion = false;
    PohonKeputusan pohonKeputusan;

    Padi padi;
    String[] gejalaPadi;
    ArrayList<PenyakitPadi> allPenyakit;
    ArrayList<PenyakitPadi> relPenyakitPadiArr;
    ArrayList<PohonKeputusan> pohonKeputusanObjArr;





    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_konsultasi_start);

        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        getSupportActionBar().setLogo(R.mipmap.ic_launcher);
        getSupportActionBar().setDisplayUseLogoEnabled(true);
        getSupportActionBar().setDisplayHomeAsUpEnabled(false);

        setTitle("  Menu Konsultasi");
        toolbar.setSubtitle("  Berdasarkan Gejala");

        lyContainer = (ScrollView) findViewById(R.id.lyContainer);

        Intent padiIntent  = getIntent();
        padi = padiIntent.getExtras().getParcelable("padiObj");
        gejalaPadi = padi.gejala;
        relPenyakitPadiArr = setRelatedPenyakit();
        try {
            pohonKeputusanObjArr = setRelatedGejala(initiatePohonKeputusan());
            Log.e("pohonKeputusanObjArr", String.valueOf(pohonKeputusanObjArr.size()));
            Log.e("pohonKeputusanObjArr", String.valueOf(pohonKeputusanObjArr.toString()));
        } catch (IOException e) {
            e.printStackTrace();
        }

        pohonKeputusan = pohonKeputusanObjArr.get(qIndex);
        //Log.e("pohonKeputusan", String.valueOf(pohonKeputusan.gejala_kode));

        String namaPadi = padi.nama;
        if (namaPadi != null) {
            namaPadi = namaPadi.substring(0,1).toUpperCase() + namaPadi.substring(1).toLowerCase();
            header = (TextView) findViewById(R.id.textView4);
            String ni = header.getText().toString();
            ni = ni + "\"" + namaPadi + "\"";
            header.setText(ni);
        }

        ask = (TextView) findViewById(R.id.ask);
        askgambar=(ImageView) findViewById(R.id.gambargejala);

        ask.setText("Jawablah pertanyaan-pertanyaan berikut dengan ya atau tidak.");
        tidak = (Button) findViewById(R.id.btTidak);
        tidak.setVisibility(View.INVISIBLE);
        tidak.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                setTidak();
                Log.e("calcCount", String.valueOf(calcCount));
                Log.e("yaCount", String.valueOf(yaCount));
                Log.e("%", String.valueOf(hitungPersen()));
            }
        });
        ya = (Button) findViewById(R.id.btYa);
        ya.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                int visibilityTidak = tidak.getVisibility();
                if(visibilityTidak == View.INVISIBLE) {
                    tidak.setVisibility(View.VISIBLE);
                    ya.setText("Ya");
                    setQuestion(pohonKeputusan);
                }else{
                    setYa();
                    //lyContainer.setBackgroundColor(Color.parseColor("#FFF8C1C1"));
//                    setRandomColor();
                    Log.e("calcCount", String.valueOf(calcCount));
                    Log.e("yaCount", String.valueOf(yaCount));
                    Log.e("%", String.valueOf(hitungPersen()));
                }
            }
        });
    }

    public void setYa(){
        qIndex = 0;
        //Jika phk tidak punya anak dan punya penyakit, munculkan hasil analisa
        if(pohonKeputusan.child == null && pohonKeputusan.penyakit_kode != null){
            Log.e("lastQuestion", "lastQuestion");
            PenyakitPadi penyakit = null;
            for (int i = 0; i < allPenyakit.size(); i++){
                if(pohonKeputusan.penyakit_kode.equals(allPenyakit.get(i).kode)){
                    penyakit = allPenyakit.get(i);
                    break;
                }
            }
            if(penyakit != null){
                if(calculate) {
                    if(fromTidak == false){
                        calcCount++;
                        yaCount++;
                    }else fromTidak = false;
                }

                String persentase = String.valueOf(hitungPersen()) + " %";
                android.support.v4.app.FragmentManager fm = getSupportFragmentManager();
                BlankFragment dialogFragment = BlankFragment.newInstance(penyakit, persentase);
                dialogFragment.show(fm,"Hasil Diagnosa");
                tidak.setVisibility(View.INVISIBLE);
                ya.setVisibility(View.INVISIBLE);
            }else {
                Toast.makeText(KonsultasiBerdasarkanGejalaActivity.this, pohonKeputusan.penyakit_kode + "\n" + relPenyakitPadiArr.get(0).kode, Toast.LENGTH_SHORT).show();
                Log.d("TEST", pohonKeputusan.penyakit_kode + "\n" + relPenyakitPadiArr.toString());
            }
        }else{
            if(pohonKeputusanObjArr.size() == 1){
                if(calculate == false) calculate = true;
                if(calculate) {
                    if(fromTidak == false){
                        calcCount++;
                        yaCount++;
                    }else fromTidak = false;
                }
            }

            pohonKeputusanObjArr = pohonKeputusan.child;
            pohonKeputusan = pohonKeputusanObjArr.get(0);
            setQuestion(pohonKeputusan);
            //Log.e("setYa", "setYa");
            //Log.e("qIndex", String.valueOf(qIndex));
            //Log.e("ObjArr Size", String.valueOf(pohonKeputusanObjArr.size()));
            //Log.e("gejala_kode", pohonKeputusan.gejala_kode);
        }
    }

    public void setTidak(){
        if(qIndex < (pohonKeputusanObjArr.size() - 1)){
            qIndex ++;
            pohonKeputusan = pohonKeputusanObjArr.get(qIndex);
            setQuestion(pohonKeputusan);
            //Log.e("qIndex", String.valueOf(qIndex));
            //Log.e("ObjArr Size", String.valueOf(pohonKeputusanObjArr.size()));
            //Log.e("gejala_kode", pohonKeputusan.gejala_kode);
        }else{
            if(pohonKeputusanObjArr.size() > 0){
                if(pohonKeputusanObjArr.size() == 1){
                    if(calculate == false) calculate = true;
                    if(fromTidak == false) fromTidak = true;
                    calcCount++;
                    tidakCount++;
                    setYa();
                }else{
                    rollbackQuestion(pohonKeputusanObjArr);
                    setQuestion(pohonKeputusan);
                    Log.e("ObjArr", "Habis");
                }
            }
        }
    }

    public ArrayList<PohonKeputusan> setRelatedGejala(ArrayList<PohonKeputusan> phk){
        ArrayList<PohonKeputusan> phkObjArr = new ArrayList<PohonKeputusan>();
        for (int i = 0; i < phk.size(); i++){

            boolean result = false;
            PohonKeputusan phkObj = phk.get(i);
            String gejalaKode = phkObj.gejala_kode;
            for (int i2 = 0; i2 < gejalaPadi.length; i2++){
                if(gejalaKode.equals(gejalaPadi[i2])){
                    result = true;
                    break;
                }
            }
            if(result == true) phkObjArr.add(phkObj);
        }
        return phkObjArr;
    }


    public void rollbackQuestion(ArrayList<PohonKeputusan> phk){
        qIndex = 0;
        pohonKeputusan = phk.get(qIndex);
    }

    public void setQuestion(PohonKeputusan phk){
       ask.setText(/*"Apakah padi anda " + */phk.gejala + " ?"
                //+ "\n--" + phk.gejala_kode + "--"
        );

        askgambar.setImageResource(getResources().getIdentifier(phk.gambar_gejala, "drawable", getPackageName()));
    }

    private ArrayList<PenyakitPadi> setRelatedPenyakit(){
        String[] ownPenyakit = padi.penyakit;
        allPenyakit = null;
        ArrayList<PenyakitPadi> filteredPenyakit = new ArrayList<PenyakitPadi>();
        try {
            allPenyakit = initiatePenyakitData();
        } catch (IOException e) {
            e.printStackTrace();
        }
        int penyakitItemLength = ownPenyakit.length;
        if(penyakitItemLength >0){
            for (int i = 0; i < penyakitItemLength; i++)
            {
                for (PenyakitPadi itemPenyakit : allPenyakit) {

                    if(ownPenyakit[i].equals(itemPenyakit.kode)){
                        filteredPenyakit.add(itemPenyakit);
                        //Log.d("TESTING", itemPenyakit.kode + " " + ownPenyakit[i]);
                    }
                }
            }
        }
        return filteredPenyakit;
    }

    private ArrayList<PenyakitPadi> initiatePenyakitData() throws JsonParseException, JsonMappingException, IOException {
        ObjectMapper mapper = new ObjectMapper();
        String jsonString = loadPenyakitJSONFromAsset();
        return mapper.readValue(jsonString, mapper.getTypeFactory().constructCollectionType(List.class, PenyakitPadi.class));
    }

    private String loadPenyakitJSONFromAsset() {
        String json = null;
        try {
            InputStream is = this.getAssets().open("penyakit.json");
            int size = is.available();
            byte[] buffer = new byte[size];
            is.read(buffer);
            is.close();
            json = new String(buffer, "UTF-8");
        } catch (IOException ex) {
            ex.printStackTrace();
            return null;
        }
        return json;
    }

    private String loadKeputusanJSONFromAsset() {
        String json = null;
        try {
            InputStream is = this.getAssets().open("pohon_keputusan/pohonkeputusan.json");
            int size = is.available();
            byte[] buffer = new byte[size];
            is.read(buffer);
            is.close();
            json = new String(buffer, "UTF-8");
        } catch (IOException ex) {
            ex.printStackTrace();
            return null;
        }
        return json;
    }
    private ArrayList<PohonKeputusan> initiatePohonKeputusan() throws JsonParseException, JsonMappingException, IOException {
        ObjectMapper mapper = new ObjectMapper();
        String jsonString = loadKeputusanJSONFromAsset();
        return mapper.readValue(jsonString, mapper.getTypeFactory().constructCollectionType(List.class, PohonKeputusan.class));
    }

    @Override
    public void onPause() {
        super.onPause();  // Always call the superclass method first
        //qIndex = 0;
        Log.d("onPause","onPause");
    }

    @Override
    public void onResume() {
        super.onResume(); 
        Log.d("onResume", "onResume");
    }

    /*public void resetKonsultasi(){

        ask.setText("Silahkan jawab perntanyaan dr.dolphin.\nUntuk memulai, tekan \"Ya\"");
        try {
            pohonKeputusanObjArr = initiatePohonKeputusan();
        } catch (IOException e) {
            e.printStackTrace();
        }
        pohonKeputusan = pohonKeputusanObjArr.get(qIndex);
        tidak.setVisibility(View.INVISIBLE);
    }*/


    private double hitungPersen(){
        if(yaCount > 0 && calcCount > 0){
            Log.d("hitung", String.valueOf(yaCount + "/" + String.valueOf(calcCount) + " = " + String.valueOf((double) yaCount/calcCount)));
            //int k = (int)(value*(percentage/100.0f));
            double bagi = (double)yaCount / calcCount;
            return bagi * 100;
        }else return 0;
    }

}
package com.pakarpadi.jonhar.pakarpadi.MenuKonsultasi;
导入android.content.Context;
导入android.content.Intent;
导入android.content.res.Resources;
导入android.os.Bundle;
导入android.support.v7.app.AppActivity;
导入android.support.v7.widget.Toolbar;
导入android.util.Log;
导入android.view.view;
导入android.widget.Button;
导入android.widget.ImageView;
导入android.widget.ScrollView;
导入android.widget.TextView;
导入android.widget.Toast;
导入com.fasterxml.jackson.core.JsonParseException;
导入com.fasterxml.jackson.databind.JsonMappingException;
导入com.fasterxml.jackson.databind.ObjectMapper;
导入com.pakarpadi.jonhar.pakarpadi.R;
导入org.json.JSONArray;
导入java.io.IOException;
导入java.io.InputStream;
导入java.util.ArrayList;
导入java.util.HashMap;
导入java.util.List;
公共类KonsultasiBerdasarkanG
package com.pakarpadi.jonhar.pakarpadi.MenuKonsultasi;

import android.app.Dialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.GridView;

import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.pakarpadi.jonhar.pakarpadi.R;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

public class KonsultasiActivity extends AppCompatActivity {

    List<Padi> padiArr;
    Padi padi;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_konsultasi);

        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        getSupportActionBar().setLogo(R.mipmap.ic_launcher);
        getSupportActionBar().setDisplayUseLogoEnabled(true);
        getSupportActionBar().setDisplayHomeAsUpEnabled(false);

        setTitle("  Konsultasi Penyakit");

        try {
            initiateData();
        } catch (IOException e) {
            e.printStackTrace();
        }


        GridView gridview = (GridView) findViewById(R.id.gridView);
        gridview.setAdapter(new PadiAdapter(this, R.layout.padi_item, padiArr));
        gridview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

                Intent i = new Intent(KonsultasiActivity.this, KonsultasiBerdasarkanGejalaActivity.class);
                i.putExtra("padiObj", padi);
                startActivity(i);
            }
        });
    }

    private void initiateData() throws JsonParseException, JsonMappingException, IOException {
        ObjectMapper mapper = new ObjectMapper();
        String jsonString = loadJSONFromAsset();
        padiArr = mapper.readValue(jsonString, mapper.getTypeFactory().constructCollectionType(List.class, Padi.class));
    }

    private String loadJSONFromAsset() {
        String json = null;
        try {
            InputStream is = this.getAssets().open("padi.json");
            int size = is.available();
            byte[] buffer = new byte[size];
            is.read(buffer);
            is.close();
            json = new String(buffer, "UTF-8");
        } catch (IOException ex) {
            ex.printStackTrace();
            return null;
        }
        return json;
    }
}
package com.pakarpadi.jonhar.pakarpadi.MenuKonsultasi;

import android.app.Dialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.GridView;

import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.pakarpadi.jonhar.pakarpadi.R;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

public class KonsultasiActivity extends AppCompatActivity {

    List<Padi> padiArr;
    Padi padi;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_konsultasi);

        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        getSupportActionBar().setLogo(R.mipmap.ic_launcher);
        getSupportActionBar().setDisplayUseLogoEnabled(true);
        getSupportActionBar().setDisplayHomeAsUpEnabled(false);

        setTitle("  Konsultasi Penyakit");

        try {
            initiateData();
        } catch (IOException e) {
            e.printStackTrace();
        }


        GridView gridview = (GridView) findViewById(R.id.gridView);
        gridview.setAdapter(new PadiAdapter(this, R.layout.padi_item, padiArr));
        gridview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

                Intent i = new Intent(KonsultasiActivity.this, KonsultasiBerdasarkanGejalaActivity.class);
                i.putExtra("padiObj", padiArr.get(position));
                startActivity(i);
            }
        });
    }




    private void initiateData() throws JsonParseException, JsonMappingException, IOException {
        ObjectMapper mapper = new ObjectMapper();
        String jsonString = loadJSONFromAsset();
        padiArr = mapper.readValue(jsonString, mapper.getTypeFactory().constructCollectionType(List.class, Padi.class));
    }

    private String loadJSONFromAsset() {
        String json = null;
        try {
            InputStream is = this.getAssets().open("padi.json");
            int size = is.available();
            byte[] buffer = new byte[size];
            is.read(buffer);
            is.close();
            json = new String(buffer, "UTF-8");
        } catch (IOException ex) {
            ex.printStackTrace();
            return null;
        }
        return json;
    }
}