안녕하세요 처음 어플만들어보고 있는 학생입니다. 현재 A액티비티에서 B로 넘어가는 버튼클릭시 db의 리스트들을 띄워주는 부분에서 문제가 생겨 질문 드립니다. 처음 어플 실행시 A->B로 넘어갈때 B에 리스트들이 잘 뜨는데 B에서 뒤로갔다가 다시 A에서 버튼을 눌러 B로 가면 리스트가 뜨지않고 레이아웃만 표시됩니다.
로그로 생명주기 확인하면 B의 생명주기가 onCreate -> onResume -> onPause -> onCreate -> onResume으로 됩니다. 혹시 어느부분에서 잘못된건지 알려주실 수 있을까요?ㅠㅠ
public class tom extends AppCompatActivity {
Toolbar myToolbar;
DBHelper dbHelper ;
static DBAdapterTom dbAdapterTom;
SQLiteDatabase db;
String sql;
Cursor cursor;
static Calendar today = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
static String getTime;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tom);
Log.d("onCreate","호출됨");
myToolbar = (Toolbar) findViewById(R.id.toolbar2);
setSupportActionBar(myToolbar);
ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayShowCustomEnabled(true); //커스터마이징 하기 위해 필요
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setDisplayHomeAsUpEnabled(true); // 뒤로가기 버튼, 디폴트로 true만 해도 백버튼이 생김
today.add(Calendar.DATE,1);
Date tomorrow = today.getTime();
getTime = sdf.format(tomorrow);
}
@Override
protected void onResume() {
super.onResume();
Log.d("Onresume","호출됨");
ListView list = (ListView) findViewById(R.id.listView_tomorrow);
Button button = (Button)findViewById(R.id.taskaddbutton);
button.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getApplicationContext(),MainActivity.class);
intent.putExtra("tom",1);
startActivity(intent);
}
});
dbHelper = new DBHelper(this,dbName,null,dbVersion);
db = dbHelper.getReadableDatabase();
sql = "SELECT * FROM t3 where date like '"+getTime+"' ORDER BY priority ASC;";
cursor = db.rawQuery(sql,null);
cursor.moveToFirst();
Log.d("커서",""+cursor.getPosition());
if(cursor.getCount()>0){
while(cursor.moveToNext()){
dbAdapterTom = new DBAdapterTom(this,cursor);
list.setAdapter(dbAdapterTom);
}
}
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
cursor.moveToPosition(position);
String str = cursor.getString(cursor.getColumnIndex("name"));
String str1 = cursor.getString(cursor.getColumnIndex("memo"));
Log.d("클릭",str);
}
});
}
@Override
protected void onPause() {
Log.d("onPause","호출됨");
super.onPause();
}
}
B 액티비티 입니다
Intent intent = new Intent(getApplicationContext(), tom.class);
startActivity(intent);
A 액티비티에서는 버튼 클릭시 intent로 넘겨주었습니다.
답변 부탁드리겠습니다ㅜㅜ