【发布时间】:2015-08-10 00:30:52
【问题描述】:
所以这是我试图用线程实现的方法,但是在运行它时它一直在崩溃,我不知道为什么.. logcat 不会像当某些东西崩溃时那样向我显示错误,这让我非常困惑。 .
所以基本上我在这里尝试做的是开始我的活动,当用户查看活动时,它开始在后台填充列表,如果这有助于解释我试图完成的事情。
Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
populateExerListView(exercises);
}
};
public void loadDataFromDatabase(){
Runnable r = new Runnable() {
@Override
public void run() {
exercises = dbh.getAllExercises(bodypart_chosen);
handler.sendEmptyMessage(0);
}
};
public void populateExerListView(final ArrayList<AdapterExercisesList.Exercise> exercises){
ListAdapter edsAdapter = new AdapterExercisesList(this, exercises);
exerciseListView = (ListView) findViewById(R.id.exerciseListView);
exerciseListView.setAdapter(edsAdapter);
exerciseListView.setOnItemClickListener(
new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
int pos = (Integer) view.getTag();
//gets the bodypart by passing in the pos
String exercise_chosen = exercises.get(pos).get_exerciseName();
Calendar c = Calendar.getInstance();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
String formattedDate = df.format(c.getTime());
exerciseClicked(exercise_chosen, formattedDate);
}
}
);
}
【问题讨论】:
-
如果 logcat 没有显示任何相关信息,你怎么知道应用程序崩溃
-
你错过了
loadDataFromDatabase方法的右括号。无论如何,请参阅下面的答案
标签: android multithreading sqlite