有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

“java.lang.NullPointerException:尝试在null对象上调用虚拟方法'安卓.text.Editable 安卓.widget.EditText.getText()。”

我做了一个代码来添加剩余的几天,但它显示出我的一些代码是错误的,我是Android Studio的新手


我还上传了logcat错误,请点击这里:

Logcat

[AddRemainDaysActivity.java]


import 安卓.content.Intent;
import 安卓.os.Bundle;
import 安卓.text.TextUtils;
import 安卓.view.View;
import 安卓.widget.Button;
import 安卓.widget.EditText;
import 安卓.widget.ListView;
import 安卓.widget.TextView;
import 安卓.widget.Toast;

import 安卓x.annotation.NonNull;
import 安卓x.appcompat.app.AppCompatActivity;

import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;

public class AddRemainDaysActivity extends AppCompatActivity {

    TextView textviewAsgName;
    EditText editTextRemaindDays;
    Button buttonAdd;

    ListView listViewRemainDays;

    DatabaseReference databaseRemainDays;

    @Override
    protected void onCreate(Bundle saveInstanceState) {
        super.onCreate(saveInstanceState);
        setContentView(R.layout.add_remain_days);

        textviewAsgName = (TextView) findViewById(R.id.textViewAsgName);
        editTextRemaindDays = (EditText) findViewById(R.id.editTextRemaindDays);
        buttonAdd = (Button) findViewById(R.id.buttonAdd);

        listViewRemainDays = (ListView) findViewById(R.id.listViewRemainDays);

        Intent intent = getIntent();

        String id = intent.getStringExtra(MainActivity.ASSIGNMENT_ID);
        String topic = intent.getStringExtra(MainActivity.ASSIGNMENT_TOPIC);

        textviewAsgName.setText(topic);

        databaseRemainDays = FirebaseDatabase.getInstance().getReference("remainDays").child(id);

        buttonAdd.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                saveremainDays();
            }
        });

        }
    private void saveremainDays(){
        String remainDaysname = editTextRemaindDays.getText().toString().trim();

        if(!TextUtils.isEmpty(remainDaysname)) {
            String id = databaseRemainDays.push().getKey();

            remainDays RemainDays = new remainDays(id, remainDaysname);

            databaseRemainDays.child(id).setValue(RemainDays);

            Toast.makeText(this,"Remain days added :)", Toast.LENGTH_LONG).show();
        }else{
            Toast.makeText(this, "You must insert remaining days to proceed!", Toast.LENGTH_LONG).show();
        }
    }
}````

[remainDays.java]

包com。实例as3

公务舱剩余{

private String remainDaysID;
private String remainDaysname;

public remainDays() {

}

public remainDays(String remainDaysID, String remainDaysname) {
    this.remainDaysID = remainDaysID;
    this.remainDaysname = remainDaysname;
}

public String getRemainDaysID() {
    return remainDaysID;
}

public String getRemainDaysname() {
    return remainDaysname;
}

}````

这是XML文件:

[添加剩余天数xml]

<LinearLayout xmlns:安卓="http://schemas.安卓.com/apk/res/安卓"
    xmlns:tools="http://schemas.安卓.com/tools"
    安卓:id="@+id/Activity_add_remaindays"
    安卓:layout_width="match_parent"
    安卓:layout_height="match_parent"
    安卓:orientation="vertical"
    tools:context=".AddRemainDaysActivity">

    <TextView
        安卓:id="@+id/textViewAsgName"
        安卓:textAppearance="@style/TextAppearance.AppCompat.Large"
        安卓:textAlignment="center"
        安卓:layout_width="match_parent"
        安卓:layout_height="wrap_content"
        安卓:gravity="center" />

    <EditText
        安卓:id="@+id/editTextRemainDays"
        安卓:layout_width="match_parent"
        安卓:layout_height="wrap_content"
        安卓:ems="10"
        安卓:hint="Enter remaining days"
        安卓:inputType="textPersonName"
        安卓:layout_marginTop="20dp"/>

    <Button
        安卓:id="@+id/buttonAdd"
        安卓:layout_width="match_parent"
        安卓:layout_height="wrap_content"
        安卓:layout_marginTop="22dp"
        安卓:text="Add" />

    <TextView
        安卓:id="@+id/textView"
        安卓:textAppearance="@style/TextAppearance.AppCompat.Large"
        安卓:textAlignment="center"
        安卓:layout_width="match_parent"
        安卓:layout_height="wrap_content"
        安卓:gravity="center"
        安卓:text="Assignment"/>

    <ListView
        安卓:id="@+id/listViewRemainDays"
        安卓:layout_width="match_parent"
        安卓:layout_height="match_parent"/>

</LinearLayout>````

共 (1) 个答案

  1. # 1 楼答案

    您的editTextRemaindDays视图没有初始化,这就是它抛出NullPointerException的原因。当我看到您的导入时,您不是这样导入资源文件的

    import youPackage.R;
    

    请正确检查您正在使用正确的id访问editTextRemaindDays视图editTextRemaindDays您在xml文件中提供了什么,因为您没有附加xml,因为我看不到您提供了什么id