请问大神这是什么情况

LYRIQ777 2016-01-19 01:55:56
错误代码:
01-18 17:51:17.310 11520-11520/com.example.administrator.database_test E/Trace﹕ error opening trace file: No such file or directory (2)
01-18 17:51:17.440 11520-11520/com.example.administrator.database_test E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.administrator.database_test/com.example.administrator.database_test.MainActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2106)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
at android.app.ActivityThread.access$600(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5041)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at android.app.Activity.findViewById(Activity.java:1839)
at com.example.administrator.database_test.MainActivity.<init>(MainActivity.java:15)
at java.lang.Class.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1319)
at android.app.Instrumentation.newActivity(Instrumentation.java:1054)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2097)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
            at android.app.ActivityThread.access$600(ActivityThread.java:141)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:137)
            at android.app.ActivityThread.main(ActivityThread.java:5041)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
            at dalvik.system.NativeStart.main(Native Method)




androidmanifest代码:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.administrator.database_test" >

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="DataBase_Test"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="DataBase_Test" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>

</manifest>


MainActivity代码:
package com.example.administrator.database_test;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;


public class MainActivity extends Activity {


Button bt1 = (Button)findViewById(R.id.bt1);
Button bt2 = (Button)findViewById(R.id.bt2);
Button bt3 = (Button)findViewById(R.id.bt3);
EditText et1 = (EditText)findViewById(R.id.ed1);
EditText et2 = (EditText)findViewById(R.id.ed2);
EditText et3 = (EditText)findViewById(R.id.ed3);
EditText et4 = (EditText)findViewById(R.id.ed4);
EditText et5 = (EditText)findViewById(R.id.ed5);
EditText et6 = (EditText)findViewById(R.id.ed6);
DataBaseHelper dataBaseHelper = new DataBaseHelper(this);

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bt1.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
dataBaseHelper.DB_Insert(et1.getText().toString(), et2.getText().toString());
}
});


bt2.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v) {
dataBaseHelper.DB_Update(et3.getText().toString(), et4.getText().toString());
}
});


bt3.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v) {
et6.setText(dataBaseHelper.Information(et5.getText().toString()));
}
});

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();

//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}

return super.onOptionsItemSelected(item);
}
}


类DataBaseHelper代码:
package com.example.administrator.database_test;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.database.sqlite.SQLiteOpenHelper;


class DataBaseHelper {

public final static String TABLE_NAME = "CheckOut_List";
public final static int TABLE_VERSION = 1;
public final static String ID = "id";
public final static String TIME = "time";
private SQLiteDatabase read;
private SQLiteDatabase write;
private DataBaseCreate dataBaseCreate;
private Context context;



public DataBaseHelper(Context context){
this.context = context;
dataBaseCreate = new DataBaseCreate(context);
read = dataBaseCreate.getReadableDatabase();
write = dataBaseCreate.getWritableDatabase();
}



private class DataBaseCreate extends SQLiteOpenHelper{


public DataBaseCreate(Context context) {
super(context, TABLE_NAME, null, TABLE_VERSION);
}

public void onCreate(SQLiteDatabase db) {
try {
db.execSQL("CREATE TABLE" + TABLE_NAME + "(id INTEGER PRIMARY KEY AUTOINCREMENT,time);");
} catch (SQLiteException e) {
e.printStackTrace();
}

}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

}
}



public void DB_Insert(String newid,String newtime) {
ContentValues cv = new ContentValues();
cv.put("id",newid);
cv.put("time",newtime);
write.insert("CheckOut_List",null,cv);

//getWritableDatabase();
//db.execSQL("insert into" + TABLE_NAME + "(" + ID + "," + TIME + ") values(?,?)",new Object[]{newid,newtime});
}


public void DB_Update(String newid,String newtime){
ContentValues cv = new ContentValues();
cv.put("time",newtime);
write.update("CheckOut_List", cv, "id = ?", new String[]{newid});
}
public void DB_Delete(){
}

public void DB_Close() {

}


public String Information(String id){
Cursor cursor;
String newid ="" ,time="";
cursor = dataBaseCreate.getReadableDatabase().rawQuery("select * from CheckOut_List where id=?", new String[]{id});
if (cursor.moveToNext()){
newid = cursor.getString(cursor.getColumnIndex("id"));
time = cursor.getString(cursor.getColumnIndex("time"));
}

//stu_inf.getInf(newid,time);
return time;

}
}

...全文
117 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
danceflash 2016-01-21
  • 打赏
  • 举报
回复
楼主。。。看我的回复。。。 不是有没有组件的问题,而是你findViewById调用的地方错了! 你必须在onCreate里面的setContentView(R.layout.activity_main);这一行后面去调用findViewById() 在setContentView(R.layout.activity_main);之前,你的Activity根本不知道自己要使用哪个布局,它怎么去找组件?
LYRIQ777 2016-01-20
  • 打赏
  • 举报
回复
有组件,字数限制没贴出来, <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"> <TextView android:text="@string/hello_world" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/tv1"/> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/ed1" android:layout_below="@id/tv1" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/ed2" android:layout_below="@id/ed1"/> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/bt1" android:layout_below="@id/ed2" android:text="插入" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/ed3" android:layout_below="@id/bt1" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/ed4" android:layout_below="@id/ed3"/> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/bt2" android:layout_below="@id/ed4" android:text="更新" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/ed5" android:layout_below="@id/bt2" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/ed6" android:layout_below="@id/ed5"/> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/bt3" android:layout_below="@id/ed6" android:text="查询" /> </RelativeLayout>
danceflash 2016-01-20
  • 打赏
  • 举报
回复
把这一段挪到onCreate里面的setContentView(R.layout.activity_main);后面去,你都没有定义界面使用的布局呢,怎么可能找得到组件呢?

    Button bt1 = (Button)findViewById(R.id.bt1);
    Button bt2 = (Button)findViewById(R.id.bt2);
    Button bt3 = (Button)findViewById(R.id.bt3);
    EditText et1 = (EditText)findViewById(R.id.ed1);
    EditText et2 = (EditText)findViewById(R.id.ed2);
    EditText et3 = (EditText)findViewById(R.id.ed3);
    EditText et4 = (EditText)findViewById(R.id.ed4);
    EditText et5 = (EditText)findViewById(R.id.ed5);
    EditText et6 = (EditText)findViewById(R.id.ed6);
peter_nj_RD 2016-01-19
  • 打赏
  • 举报
回复
Caused by: java.lang.NullPointerException at android.app.Activity.findViewById(Activity.java:1839) at com.example.administrator.database_test.MainActivity.<init>(MainActivity.java:15) findViewById方法没找到你定义的ID返回空了
脸肿了 2016-01-19
  • 打赏
  • 举报
回复
空指针 看看这个地方at com.example.administrator.database_test.MainActivity.<init>(MainActivity.java:15)
LYRIQ777 2016-01-19
  • 打赏
  • 举报
回复
初学者请大神指点

80,349

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧