Java 如何删除对话框片段并直接转到spesific类使用意图
我有一个android应用程序,它使用对话框片段显示2个类的选择,并显示如下 还有这个节目,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
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;
}
}