Android 显示从SQLite到其他RecyclerView活动的详细数据
我已经阅读了几天的教程和案例研究。但是我在代码中实现时遇到了一个问题 我无法使用MainMuridActivity to DetailsMuridActivity中的键从数据库检索数据。这是我的密码 MainMuriddActivity.javaAndroid 显示从SQLite到其他RecyclerView活动的详细数据,android,android-intent,android-recyclerview,android-sqlite,Android,Android Intent,Android Recyclerview,Android Sqlite,我已经阅读了几天的教程和案例研究。但是我在代码中实现时遇到了一个问题 我无法使用MainMuridActivity to DetailsMuridActivity中的键从数据库检索数据。这是我的密码 MainMuriddActivity.java public class MainMuriddActivity extends AppCompatActivity { private RecyclerView recyclerView; private LinearLayou
public class MainMuriddActivity extends AppCompatActivity {
private RecyclerView recyclerView;
private LinearLayoutManager layoutManager;
private MuriddAdapter adapter;
private DBHandler dbHandler;
private TextView txt_resultadapter;
public static MainMuriddActivity mma;
private List<Muridd> muriddList = new ArrayList<>();
FloatingActionButton fab;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_lihat_muridd);
//fab aksi
fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(MainMuriddActivity.this, TambahMuriddActivity.class);
startActivity(i);
}
});
//end fab
initComponents();
initRecyclerView();
cekDataRecyclerView();
}
// FUNGSI INI UNTUK MENG-INIT RECYLERVIEW BESERTA ADAPTERNYA
private void initRecyclerView () {
recyclerView = (RecyclerView) findViewById(R.id.rv_muridd);
recyclerView.setHasFixedSize(true);
layoutManager = new LinearLayoutManager(this);
recyclerView.setLayoutManager(layoutManager);
recyclerView.addItemDecoration(new DividerItemDecoration(this, LinearLayoutManager.VERTICAL));
mma = this;
dbHandler = new DBHandler(MainMuriddActivity.this);
refresh();
}
public void refresh(){
muriddList = dbHandler.getSemuaMuridd();
adapter = new MuriddAdapter(muriddList);
recyclerView.setAdapter(adapter);
adapter.notifyDataSetChanged();
}
private void initComponents() {
txt_resultadapter = (TextView) findViewById(R.id.txt_resultadapter);
}
// FUNGSI INI UNTUK MENGECEK APAKAH ADA DATA DI DALEM RECYCLERVIEW ATAU TIDAK
private void cekDataRecyclerView() {
if (adapter.getItemCount() == 0) {
txt_resultadapter.setVisibility(View.VISIBLE);
recyclerView.setVisibility(View.GONE);
} else {
txt_resultadapter.setVisibility(View.GONE);
recyclerView.setVisibility(View.VISIBLE);
recyclerView.addOnItemTouchListener(
new RecyclerItemClickListener(getApplicationContext(), new RecyclerItemClickListener.OnItemClickListener() {
@Override
public void onItemClick(View view, int position) {
// TODO Handle item click
Muridd murid = muriddList.get(position);
String nama = murid.getNama();
Toast.makeText(MainMuriddActivity.this, "Klik di " + nama, Toast.LENGTH_SHORT).show();
Intent i = new Intent(MainMuriddActivity.this, DetailsMuriddActivity.class);
String getNama = null;
i.putExtra("nama", getNama);
muriddList.get(position).getNama();
startActivity(i); }
})
);
}
}
}
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());
}
}
}
公共类MainMuridActivity扩展了AppCompative活动{
私人回收站;
私人专线经理;布局经理;
专用适配器;
私有DBHandler-DBHandler;
私有文本视图txt_结果适配器;
公共静态维护活动mma;
private List muridlist=new ArrayList();
浮动操作按钮;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u lihat\u muridd);
//法布阿克西酒店
fab=(FloatingActionButton)findViewById(R.id.fab);
fab.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
意向i=新意向(MainMuriddActivity.this,TambahMuriddActivity.class);
星触觉(i);
}
});
//端部晶圆厂
初始化组件();
initRecyclerView();
cekDataRecyclerView();
}
//这是一种新的适应方式
私有void initRecyclerView(){
recyclerView=(recyclerView)findViewById(R.id.rv_muridd);
recyclerView.setHasFixedSize(true);
layoutManager=新的LinearLayoutManager(此);
recyclerView.setLayoutManager(layoutManager);
recyclerView.addItemDecoration(新的DividerItemDecoration(这是LinearLayoutManager.VERTICAL));
mma=这个;
dbHandler=新的dbHandler(MainMuriddActivity.this);
刷新();
}
公共无效刷新(){
muridlist=dbHandler.getSemuaMuridd();
适配器=新的MuridDapter(MuridList);
recyclerView.setAdapter(适配器);
adapter.notifyDataSetChanged();
}
私有组件(){
txt_resultadapter=(TextView)findViewById(R.id.txt_resultadapter);
}
//这是一种在回收站查看或收集数据的方法
私有void cekDataRecyclerView(){
if(adapter.getItemCount()==0){
txt_resultadapter.setVisibility(View.VISIBLE);
recyclerView.setVisibility(View.GONE);
}否则{
txt_resultadapter.setVisibility(View.GONE);
recyclerView.setVisibility(View.VISIBLE);
recyclerView.AddonitTouchListener(
新建RecyclerItemClickListener(getApplicationContext(),新建RecyclerItemClickListener.OnItemClickListener()){
@凌驾
公共虚线单击(视图,int位置){
//TODO处理项目单击
Muridd murid=muridlist.get(位置);
字符串nama=murid.getNama();
Toast.makeText(MainMuriddActivity.this,“Klik di”+nama,Toast.LENGTH_SHORT).show();
意图i=新意图(MainMuriddActivity.this、detailsMuridActivity.class);
字符串getNama=null;
i、 putExtra(“nama”,getNama);
muridlist.get(position.getNama();
星触觉(i);}
})
);
}
}
}
detailsMuridActivity.java
public class MainMuriddActivity extends AppCompatActivity {
private RecyclerView recyclerView;
private LinearLayoutManager layoutManager;
private MuriddAdapter adapter;
private DBHandler dbHandler;
private TextView txt_resultadapter;
public static MainMuriddActivity mma;
private List<Muridd> muriddList = new ArrayList<>();
FloatingActionButton fab;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_lihat_muridd);
//fab aksi
fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(MainMuriddActivity.this, TambahMuriddActivity.class);
startActivity(i);
}
});
//end fab
initComponents();
initRecyclerView();
cekDataRecyclerView();
}
// FUNGSI INI UNTUK MENG-INIT RECYLERVIEW BESERTA ADAPTERNYA
private void initRecyclerView () {
recyclerView = (RecyclerView) findViewById(R.id.rv_muridd);
recyclerView.setHasFixedSize(true);
layoutManager = new LinearLayoutManager(this);
recyclerView.setLayoutManager(layoutManager);
recyclerView.addItemDecoration(new DividerItemDecoration(this, LinearLayoutManager.VERTICAL));
mma = this;
dbHandler = new DBHandler(MainMuriddActivity.this);
refresh();
}
public void refresh(){
muriddList = dbHandler.getSemuaMuridd();
adapter = new MuriddAdapter(muriddList);
recyclerView.setAdapter(adapter);
adapter.notifyDataSetChanged();
}
private void initComponents() {
txt_resultadapter = (TextView) findViewById(R.id.txt_resultadapter);
}
// FUNGSI INI UNTUK MENGECEK APAKAH ADA DATA DI DALEM RECYCLERVIEW ATAU TIDAK
private void cekDataRecyclerView() {
if (adapter.getItemCount() == 0) {
txt_resultadapter.setVisibility(View.VISIBLE);
recyclerView.setVisibility(View.GONE);
} else {
txt_resultadapter.setVisibility(View.GONE);
recyclerView.setVisibility(View.VISIBLE);
recyclerView.addOnItemTouchListener(
new RecyclerItemClickListener(getApplicationContext(), new RecyclerItemClickListener.OnItemClickListener() {
@Override
public void onItemClick(View view, int position) {
// TODO Handle item click
Muridd murid = muriddList.get(position);
String nama = murid.getNama();
Toast.makeText(MainMuriddActivity.this, "Klik di " + nama, Toast.LENGTH_SHORT).show();
Intent i = new Intent(MainMuriddActivity.this, DetailsMuriddActivity.class);
String getNama = null;
i.putExtra("nama", getNama);
muriddList.get(position).getNama();
startActivity(i); }
})
);
}
}
}
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());
}
}
}
public class detailsMuridActivity扩展了AppCompatActivity{
DBHandler-DBHandler;
专用适配器;
私人住宅;
保护光标;
text查看txt_结果名称、txt_结果名称、txt_结果名称、txt_结果名称、txt_结果名称、txt_结果名称、txt_结果名称、,
txt_结果Jeniskelamin、txt_结果amat、txt_结果amayah、txt_结果lpayah、txt_结果kerjayah、txt_结果amaibu、,
txt_结果LPIBU,txt_结果KERJAIBU;
private List muridlist=new ArrayList();
公共项目(内部位置){
返回muridlist.get(位置);
}
@凌驾
公共意图getIntent(){
返回super.getIntent();
}
公共murid getMuridd(){
返回muridd;
}
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.Murid_详细信息);
//setContentView(R.layout.activity\u details\u muridd);
dbHandler=新的dbHandler(此);
//
Intent i=getIntent();
最终字符串nomor=i.getExtras().getString(“nomor”);
最终字符串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_resultnamayah=(TextView)findViewById(R.id.txt_resultnamayah);
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
String getNama = muriddList.get(position).getNama();
i.putExtra("nama", getNama);
final String nomor=i.getExtras().getString("nomor");