0
これについてのチュートリアルとケーススタディを数日間読みました。私のコードで実装する際に問題があります。詳細を表示SQLiteから他のRecyclerViewアクティビティへのデータアクティビティ
MainMuriddActivity to DetailsMuriddActivityのキーでデータベースからデータを取得できません。これは私のコードです。
MainMuriddActivity.java
DetailsMuriddActivity.java
public class DetailsMuriddActivity extends AppCompatActivity {
DBHandler dbHandler;
private DetailAdapter adapter;
private Muridd muridd;
protected Cursor cursor;
TextView txt_resultnomor, txt_resultnama, txt_resulttempatlahir, txt_resulttanggallahir, txt_resultagama,
txt_resultjeniskelamin, txt_resultalamat, txt_resultnamaayah, txt_resulttlpayah, txt_resultkerjaayah, txt_resultnamaibu,
txt_resulttlpibu, txt_resultkerjaibu;
private List<Muridd> muriddList = new ArrayList<>();
public Muridd getItem(int position) {
return muriddList.get(position);
}
@Override
public Intent getIntent() {
return super.getIntent();
}
public Muridd getMuridd() {
return muridd;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.muridd_details);
//setContentView(R.layout.activity_details_muridd);
dbHandler = new DBHandler(this);
//
Intent i=getIntent();
final String nomor=i.getExtras().getString("nomor");
final String nama=i.getExtras().getString("nama");
txt_resultnomor = (TextView) findViewById(R.id.txt_resultnomor);
txt_resultnama = (TextView) findViewById(R.id.txt_resultnama);
txt_resulttempatlahir = (TextView) findViewById(R.id.txt_resulttempatlahir);
txt_resulttanggallahir = (TextView) findViewById(R.id.txt_resulttanggallahir);
txt_resultagama = (TextView) findViewById(R.id.txt_resultagama);
txt_resultjeniskelamin = (TextView) findViewById(R.id.txt_resultjeniskelamin);
txt_resultalamat = (TextView) findViewById(R.id.txt_resultalamat);
txt_resultnamaayah = (TextView) findViewById(R.id.txt_resultnamaayah);
txt_resulttlpayah = (TextView) findViewById(R.id.txt_resulttlpayah);
txt_resultkerjaayah = (TextView) findViewById(R.id.txt_resultkerjaayah);
txt_resultnamaibu = (TextView) findViewById(R.id.txt_resultnamaibu);
txt_resulttlpibu = (TextView) findViewById(R.id.txt_resulttlpibu);
txt_resultkerjaibu = (TextView) findViewById(R.id.txt_resultkerjaibu);
//
txt_resultnomor.setText(nomor);
txt_resultnama.setText(nama);
SQLiteDatabase db = dbHandler.getReadableDatabase();
cursor = db.rawQuery("SELECT * FROM table_muridd WHERE nama = '" +
txt_resultnama.getText()+"'",null);
cursor.moveToFirst();
if (cursor.getCount()>0)
{
cursor.moveToPosition(0);
txt_resultnomor.setText(cursor.getString(0).toString());
txt_resultnama.setText(cursor.getString(1).toString());
txt_resulttempatlahir.setText(cursor.getString(2).toString());
txt_resulttanggallahir.setText(cursor.getString(3).toString());
txt_resultagama.setText(cursor.getString(4).toString());
txt_resultjeniskelamin.setText(cursor.getString(5).toString());
txt_resultalamat.setText(cursor.getString(6).toString());
txt_resultnamaayah.setText(cursor.getString(7).toString());
txt_resulttlpayah.setText(cursor.getString(8).toString());
txt_resultkerjaayah.setText(cursor.getString(9).toString());
txt_resultnamaibu.setText(cursor.getString(10).toString());
txt_resulttlpibu.setText(cursor.getString(11).toString());
txt_resultkerjaibu.setText(cursor.getString(12).toString());
}
}
}
そしてここMuriddAdapter
public class MuriddAdapter extends RecyclerView.Adapter<MuriddAdapter.MuriddViewHolder> {
private List<Muridd> muriddList = new ArrayList<>();
public MuriddAdapter(List<Muridd> muriddList) {
this.muriddList = muriddList;
}
@Override
public MuriddAdapter.MuriddViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item_muridd, parent, false);
MuriddViewHolder muriddViewHolder = new MuriddViewHolder(view);
return muriddViewHolder;
}
@Override
public void onBindViewHolder(MuriddAdapter.MuriddViewHolder holder, int position) {
holder.txt_resultnomor.setText(muriddList.get(position).getNomor());
holder.txt_resultnama.setText(muriddList.get(position).getNama());
holder.txt_resulttempatlahir.setText(muriddList.get(position).getTempat_lahir());
}
@Override
public int getItemCount() {
return muriddList.size();
}
public static class MuriddViewHolder extends RecyclerView.ViewHolder {
TextView txt_resultnomor;
TextView txt_resultnama;
TextView txt_resulttempatlahir;
public MuriddViewHolder(View itemView) {
super(itemView);
txt_resultnomor = (TextView) itemView.findViewById(R.id.txt_resultnomor);
txt_resultnama = (TextView) itemView.findViewById(R.id.txt_resultnama);
txt_resulttempatlahir = (TextView) itemView.findViewById(R.id.txt_resulttempatlahir);
}
}
@Override
public void onAttachedToRecyclerView(RecyclerView recyclerView) {
super.onAttachedToRecyclerView(recyclerView);
}
}
DetailsMuriddAdapterも作成します。そして、どの部分を改善すべきですか?
kyouu、今のデータ表示することができます。しかし、なぜ彼らは正しい場所にいませんか?私が言ったように、bcozが "nomor"キーで意図した価値を設定しないのかどうか。ああそれをもっと説明する気にしてください、pls?そして、それは私のDetailsMuriddAdapterが必要でないことを意味しますか? – savitrisavitri
@savitrisavitriあなたは「正しい場所」をどういう意味ですか?そして、はい、あなたはDetailsMuriddActivity.javaのアダプターは必要ありません – UneXp
aaa私はそれを得ました。 iiカーソルを削除すると、私はそれを望みます。それよりもmuccchhh @unexp:D – savitrisavitri