package dev.malikkurosaki.patungan;
import android.app.Activity;
import android.content.Context;
import android.os.AsyncTask;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Adapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import com.google.android.material.tabs.TabLayout;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.room.Database;
import butterknife.BindView;
import butterknife.ButterKnife;
import dev.malikkurosaki.patungan.DatabaseNya.DataBaseNya;
import dev.malikkurosaki.patungan.DatabaseNya.Tabel_jenis;
public class Perhitungan_patungan extends Fragment {
@BindView(R.id.containerJenis)
RecyclerView containerJenis;
@BindView(R.id.tambahNamaNya)
EditText tambahNamaNya;
@BindView(R.id.tambahNilainNya)
EditText tambahNilainNya;
@BindView(R.id.tombolTambahJenisNya)
Button tombolTambahJenisNya;
private Context context;
private Activity activity;
private String TAG = "tagnya";
private DataBaseNya dataBaseNya;
List<Tabel_jenis> ls;
Adapter_wadah_jenis adapter;
public Perhitungan_patungan() {
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
this.context = context;
this.activity = (Activity) context;
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
dataBaseNya = DataBaseNya.getInstance(context);
}
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.perhitungan_patungan, container, false);
ButterKnife.bind(this, view);
return view;
}
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
init();
}
private void init() {
ls = new ArrayList<>();
adapter = new Adapter_wadah_jenis(context,ls);
containerJenis.setLayoutManager(new LinearLayoutManager(context));
containerJenis.setAdapter(adapter);
Tabel_jenis jenis = new Tabel_jenis();
jenis.setNama("nama");
jenis.setHarga("5555");
AsyncTask.execute(()->{
List<Tabel_jenis> ltb = dataBaseNya.databaseDao().getAllTableJenis();
activity.runOnUiThread(()->{
ls.clear();
ls.addAll(ltb);
adapter.notifyDataSetChanged();
});
});
/*dataBaseNya = DataBaseNya.getInstance(context);
AsyncTask.execute(()->{
List<Tabel_jenis> data = dataBaseNya.databaseDao().getAllTableJenis();
list = new ArrayList<>();
for (Tabel_jenis tabel_jenis : data){
Map<String,Object> wadah = new HashMap<>();
wadah.put("nama",tabel_jenis.getNama());
wadah.put("harga",tabel_jenis.getHarga());
wadah.put("id",tabel_jenis.getId());
list.add(wadah);
}
activity.runOnUiThread(() -> {
adapter_wadah_jenis = new Adapter_wadah_jenis(context,list);
containerJenis.setLayoutManager(new LinearLayoutManager(context));
containerJenis.setAdapter(adapter_wadah_jenis);
tombolTambahJenisNya.setOnClickListener(v->{
AsyncTask.execute(() -> {
List<Tabel_jenis> listJumblah = dataBaseNya.databaseDao().getAllTableJenis();
int totalNya = listJumblah.size();
String nama = tambahNamaNya.getText().toString().trim();
String harga = tambahNilainNya.getText().toString().trim();
if (nama.isEmpty() || harga.isEmpty()){
activity.runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(getContext(),"isi semuanya",Toast.LENGTH_LONG).show();
}
});
return;
}
Tabel_jenis tabel_jenis = new Tabel_jenis();
tabel_jenis.setNama(nama);
tabel_jenis.setHarga(harga);
dataBaseNya.databaseDao().insertDataTabelJenis(tabel_jenis);
List<Tabel_jenis> listJumblah2 = dataBaseNya.databaseDao().getAllTableJenis();
int totalnya2 = listJumblah2.size();
if (totalnya2 > totalNya){
AsyncTask.execute(()->{
List<Tabel_jenis> list2 = dataBaseNya.databaseDao().getAllTableJenis();
activity.runOnUiThread(()->{
list = dataListNya(list2);
containerJenis.setAdapter(adapter_wadah_jenis);
adapter_wadah_jenis.notifyDataSetChanged();
Toast.makeText(getContext(),"update",Toast.LENGTH_LONG).show();
});
});
}else {
activity.runOnUiThread(()->{
Toast.makeText(getContext(),"tidak ada perubahan",Toast.LENGTH_LONG).show();
});
}
});
});
adapter_wadah_jenis.setKetikaTombolDeleteDitekan((view, posisi) -> AsyncTask.execute(()->{
dataBaseNya.databaseDao().hapusSemuanya();
List<Tabel_jenis> berapa = dataBaseNya.databaseDao().getAllTableJenis();
if (berapa.size() > 0){
activity.runOnUiThread(()->{
Toast.makeText(getContext(),"gagal",Toast.LENGTH_LONG).show();
});
}else {
activity.runOnUiThread(()->{
Toast.makeText(getContext(),"ya",Toast.LENGTH_LONG).show();
});
}
}));
});
});*/
}
List<Map<String,Object>> dataListNya(List<Tabel_jenis> tabelNya){
List<Map<String,Object>> listSatu = new ArrayList<>();
for (Tabel_jenis tabel_jenis : tabelNya){
Map<String,Object> wadah = new HashMap<>();
wadah.put("nama",tabel_jenis.getNama());
wadah.put("harga",tabel_jenis.getHarga());
wadah.put("id",tabel_jenis.getId());
listSatu.add(wadah);
}
return listSatu;
}
}
Created
October 16, 2019 07:57
-
-
Save malikkurosaki/bee9ef162bc0ef0454881f535e0078e9 to your computer and use it in GitHub Desktop.
room database recyclerview update ui
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment