오늘의 메뉴 클릭 시 미등록화면(TodayMenu.class / default)이 뜨고,
등록 버튼을 클릭하면 등록화면(Register.class)이 뜨고,
등록 완료하면 추천화면(Recommend.class)가 뜨도록 구현하고 싶습니다 ㅠ_ㅠ
화면 간 이동은 자연스럽게 되는 것을 확인했는데, 문제점은
mainactivity에서 오늘의 메뉴 클릭 시 DB가 존재하면(=이미 등록되었으면) 추천화면(Recommend.class)이,
DB가 존재하지 않으면(=미등록 상태면) 미등록화면(TodayMenu.class)가 뜨는 부분에서 오류가 납니다.
MainActivity.java
public void onBtnMenuClicked(View v) {
DBAdapter adb = new DBAdapter(this, DBAdapter.SQL_CREATE_MEMBER, "customer");
if(adb == null) {
Intent intent = new Intent(getApplicationContext(), TodayMenu.class);
startActivity(intent);
}
else {
Intent intent = new Intent(getApplication(), Recommend.class);
startActivity(intent);
}
}
Register.java
public class Register extends Activity implements OnClickListener {
private Button bt;
private EditText et1;
private CheckBox ch1, ch2, ch3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
bt = (Button)findViewById(R.id.btnOk);
et1 = (EditText)findViewById(R.id.txtname);
ch1 = (CheckBox)findViewById(R.id.chbstomach);
ch2 = (CheckBox)findViewById(R.id.chbappetite);
ch3 = (CheckBox)findViewById(R.id.chbintestine);
bt.setOnClickListener(this);
}
public void onClick(View v){
if(v == bt) {
String name = et1.getText().toString();
String disease = "";
if(ch1.isChecked()) {
disease = (String)ch1.getText();
} else if (ch2.isChecked()) {
disease = (String)ch2.getText();
} else if (ch3.isChecked()) {
disease = (String)ch3.getText();
}
DBAdapter adb = new DBAdapter(this, DBAdapter.SQL_CREATE_MEMBER, "customer");
adb.open();
ContentValues values = new ContentValues();
values.put("name", name);
values.put("disease", disease);
adb.insertTable(values);
adb.close();
Intent intent = new Intent(this, Recommend.class);
startActivity(intent);
}
}
}
Recommend.java
public class Recommend extends Activity {
TextView mname, mdisease;
ImageView imgtest;
String sdisease;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_recommend);
mname = (TextView)findViewById(R.id.tvname);
mdisease = (TextView)findViewById(R.id.tvdisease);
imgtest = (ImageView)findViewById(R.id.img);
DBAdapter adb = new DBAdapter(this, DBAdapter.SQL_CREATE_MEMBER, "customer");
adb.open();
String columns[] = {"name", "disease"};
Cursor c = adb.selectTable(columns, null, null, null, null, null);
if(c.moveToFirst()){
do{
mname.setText(c.getString(c.getColumnIndex("name")));
mdisease.setText(c.getString(c.getColumnIndex("disease")));
sdisease = mdisease.getText().toString();
} while (c.moveToNext());
}
if(sdisease.equals("식욕부진"))
{
imgtest.setImageResource(R.drawable.com_appetite);
}
adb.close();
}
public void onBtnHomeClicked(View v) {
Intent intentHome = new Intent(this, MainActivity.class);
intentHome.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intentHome.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intentHome);
finish();
}
public void onBtnBackClicked(View v){
finish();
}
}
오류

해결 방법 알려주신다면 정말 정말 감사하겠습니다ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ