0
我想從管理頁面活動向課程表中添加課程,但是當我單擊添加課程按鈕時,應用程序強制關閉,出現以下錯誤logcat顯示錯誤java.lang.IllegalStateException:無法執行活動的方法
這裏的logcat的文件:
02-19 00:57:55.826: E/global(354): Deprecated Thread methods are not supported.
02-19 00:57:55.826: E/global(354): java.lang.UnsupportedOperationException
02-19 00:57:55.826: E/global(354): at java.lang.VMThread.stop(VMThread.java:85)
02-19 00:57:55.826: E/global(354): at java.lang.Thread.stop(Thread.java:1379)
02-19 00:57:55.826: E/global(354): at java.lang.Thread.stop(Thread.java:1344)
02-19 00:57:55.826: E/global(354): at com.example.universityattendance.SplashScreen$1.run(SplashScreen.java:38)
02-19 00:58:45.665: E/AndroidRuntime(354): FATAL EXCEPTION: main
02-19 00:58:45.665: E/AndroidRuntime(354): java.lang.IllegalStateException: Could not execute method of the activity
02-19 00:58:45.665: E/AndroidRuntime(354): at android.view.View$1.onClick(View.java:2072)
02-19 00:58:45.665: E/AndroidRuntime(354): at android.view.View.performClick(View.java:2408)
02-19 00:58:45.665: E/AndroidRuntime(354): at android.view.View$PerformClick.run(View.java:8816)
02-19 00:58:45.665: E/AndroidRuntime(354): at android.os.Handler.handleCallback(Handler.java:587)
02-19 00:58:45.665: E/AndroidRuntime(354): at android.os.Handler.dispatchMessage(Handler.java:92)
02-19 00:58:45.665: E/AndroidRuntime(354): at android.os.Looper.loop(Looper.java:123)
02-19 00:58:45.665: E/AndroidRuntime(354): at android.app.ActivityThread.main(ActivityThread.java:4627)
02-19 00:58:45.665: E/AndroidRuntime(354): at java.lang.reflect.Method.invokeNative(Native Method)
02-19 00:58:45.665: E/AndroidRuntime(354): at java.lang.reflect.Method.invoke(Method.java:521)
02-19 00:58:45.665: E/AndroidRuntime(354): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
02-19 00:58:45.665: E/AndroidRuntime(354): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
02-19 00:58:45.665: E/AndroidRuntime(354): at dalvik.system.NativeStart.main(Native Method)
02-19 00:58:45.665: E/AndroidRuntime(354): Caused by: java.lang.reflect.InvocationTargetException
02-19 00:58:45.665: E/AndroidRuntime(354): at com.example.universityattendance.AdminPage.addCrs(AdminPage.java:33)
02-19 00:58:45.665: E/AndroidRuntime(354): at java.lang.reflect.Method.invokeNative(Native Method)
02-19 00:58:45.665: E/AndroidRuntime(354): at java.lang.reflect.Method.invoke(Method.java:521)
02-19 00:58:45.665: E/AndroidRuntime(354): at android.view.View$1.onClick(View.java:2067)
02-19 00:58:45.665: E/AndroidRuntime(354): ... 11 more
02-19 00:58:45.665: E/AndroidRuntime(354): Caused by: java.lang.NullPointerException
02-19 00:58:45.665: E/AndroidRuntime(354): ... 15 more
ADMINPage.class
public class AdminPage extends Activity{
EditText txtCoursename,txtTeacherID,txtSem;
DBAdapter dbAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.adminpage);
txtCoursename = (EditText) findViewById(R.id.editCoursename);
txtTeacherID = (EditText) findViewById(R.id.editTPassword);
txtSem = (EditText) findViewById(R.id.editSem);
dbAdapter = new DBAdapter(this);
dbAdapter.open();
}
public void addCrs(View v){
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(txtCoursename.getWindowToken(), 0);
imm.hideSoftInputFromWindow(txtTeacherID.getWindowToken(), 0);
imm.hideSoftInputFromWindow(txtSem.getWindowToken(), 0);
try {
String coursename = txtCoursename.getText().toString();
String teacherID = txtTeacherID.getText().toString();
String semester = txtSem.getText().toString();
long i = dbAdapter.addCourse(coursename, Integer.parseInt(teacherID), Integer.parseInt(semester));
if (i != -1)
Toast.makeText(AdminPage.this,
"You have successfully added Course", Toast.LENGTH_LONG)
.show();
dbAdapter.close();
} catch (SQLException e) {
Toast.makeText(AdminPage.this, "Some problem occurred",
Toast.LENGTH_LONG).show();
}
}
這裏的adminpage.xml文件
<EditText
android:id="@+id/editCoursename"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10" >
<requestFocus />
</EditText>
<EditText
android:id="@+id/editTid"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10" />
<EditText
android:id="@+id/editSem"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10" />
<Button
android:id="@+id/adCourseBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="addCrs"
android:text="Add Course" />
內DbAdapter.class
public long addCourse(String coursename, int parseInt, int i) {
// TODO Auto-generated method stub
ContentValues initialValues = new ContentValues();
initialValues.put(KEY_COURSE_NAME, coursename);
initialValues.put(KEY_TEACHER_ID, parseInt);
initialValues.put("sem", i);
return mDb.insert(DATABASE_TABLE3, null, initialValues);
}
表Dbhelper.class
private static final String DATABASE_NAME = "attendance.db";
private static final int DATABASE_VERSION = 1;
private static final String TAG = "STUDB";
private static final String DATABASE_CREATE1 =
" CREATE TABLE teacher_data (t_id integer primary key autoincrement, t_name text not null, t_pass text not null);";
private static final String DATABASE_CREATE2 =
" CREATE TABLE student_data (stud_id integer primary key autoincrement, stud_name text not null, stud_roll text not null, sem integer not null);";
private static final String DATABASE_CREATE3 =
" CREATE TABLE course_data (course_id integer primary key autoincrement, course_name text not null, t_id integer , sem integer);";
謝謝@laalto我是如何錯過這個的:D ...你一個救星 – user120044