应用程序在单击按钮时停止,并显示错误消息"Appname has stopped unfortunately"



标题1

这是我使用过的代码。我想在数据库中添加一个名称。当我在EditText中输入名称时,它接受,当我单击提交按钮时,它显示消息"App_name不幸停止"activity_main.xml

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginTop="70dp"
        android:text="USERNAME"
        android:textAppearance="?android:attr/textAppearanceLarge" />
    <EditText
        android:id="@+id/editText1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/textView1"
        android:layout_marginLeft="28dp"
        android:layout_toRightOf="@+id/textView1"
        android:ems="10"
        android:inputType="textPersonName" >
        <requestFocus />
    </EditText>
    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/editText1"
        android:layout_below="@+id/editText1"
        android:layout_marginTop="50dp"
        android:text="SUBMIT" />
</RelativeLayout>`

收割台1

Main_Activity.java

package com.example.dbconcept;
import android.os.Bundle;
import android.app.Activity;
import android.database.sqlite.SQLiteDatabase;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends Activity implements OnClickListener {
Button b;
String user;
EditText usr;
SQLiteDatabase db;
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        b=(Button)findViewById(R.id.button1);
        try{
            db=openOrCreateDatabase("Mydb",MODE_PRIVATE,null);
            db.execSQL("create table table1(user varchar(50))");
        }
        catch(Exception e)
        {
        }
        b.setOnClickListener(this);
    }

    public void onClick(View arg0) {
        user=usr.getText().toString();
        db.execSQL("insert into table1 values('"+user+"')");

    }

}

您尚未初始化usr

只需添加

usr = (EditText) findViewById(R.id.editText1)

到您的onCreate

您忘记初始化usr EditText

usr = (EditText) findViewById(R.id.editText1)

setContentView(R.layout.activity_main); 之后的onCreate(...)中添加此项

最新更新