Итак, у меня есть два класса, один, который добавляет задачи, и другой, который добавляет категории. При добавлении задачи вы можете связать эту задачу с категорией, которая заполняется с помощью раскрывающегося списка, а база данных применяет внешние ключи с помощью триггеров. У меня есть приложение, добавляющее задачи правильно, но я ловлю исключение нулевого указателя с моим классом добавления категории, и у меня возникают проблемы с определением, где оно находится - я посмотрел в logcat, но это не было особенно полезно
Класс выглядит следующим образом:
public class AddCategory extends Activity {
EditText txtCatName;
DatabaseHelper dbHelper;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.addcategory);
txtCatName = (EditText) findViewById(R.id.txtCatName);
}
public void btnAddCat_Click(View view) {
boolean ok = true;
try {
String name = txtCatName.getText().toString();
DatabaseMethods cat = new DatabaseMethods(name);
dbHelper.AddCategory(cat);
} catch (Exception ex) {
ok = false;
CatchError(ex.toString());
} finally {
if (ok) {
// NotifyEmpAdded();
Toasts.ShowTaskAddedAlert(this);
}
}
}
void CatchError(String Exception) {
Dialog diag = new Dialog(this);
diag.setTitle("Add new Category");
TextView txt = new TextView(this);
txt.setText(Exception);
diag.setContentView(txt);
diag.show();
}
void NotifyCatAdded() {
Dialog diag = new Dialog(this);
diag.setTitle(this.getString(R.string.add_category));
TextView txt = new TextView(this);
txt.setText(this.getString(R.string.category_added));
diag.setContentView(txt);
diag.show();
try {
diag.wait(1000);
} catch (InterruptedException e) {
CatchError(e.toString());
}
diag.notify();
diag.dismiss();
}
}
Если вам нужно больше кода, просто спросите. Буду признателен за любую оказанную помощь. Всегда помогает взглянуть на код еще парой пар, чтобы найти ошибки:).