Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android java.lang.RuntimeException:无法启动活动组件信息{…}:java.lang.NullPointerException_Android_Nullpointerexception - Fatal编程技术网

Android java.lang.RuntimeException:无法启动活动组件信息{…}:java.lang.NullPointerException

Android java.lang.RuntimeException:无法启动活动组件信息{…}:java.lang.NullPointerException,android,nullpointerexception,Android,Nullpointerexception,当您单击从一个活动转到另一个活动时,我有一个错误: java.lang.RuntimeException:无法启动活动组件信息{…}:java.lang.NullPointerException 我错过了一些方法?请帮助我理解我做错了什么,这就是为什么你会看到这个错误 我的活动:Zaselenie.java import java.util.ArrayList; import android.app.Activity; import android.database.Cursor; impor

当您单击从一个活动转到另一个活动时,我有一个错误:

java.lang.RuntimeException:无法启动活动组件信息{…}:java.lang.NullPointerException

我错过了一些方法?请帮助我理解我做错了什么,这就是为什么你会看到这个错误

我的活动:Zaselenie.java

import java.util.ArrayList;

import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.util.Log;
import android.widget.ArrayAdapter;
import android.widget.Spinner;

public class Zaselenie extends Activity {

    ContactDBmoy cqh;
    KvartDB kdb;
    SQLiteDatabase sdb;

    private Long rowId;

    Spinner spZaselenie;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.zaselenie);

    spZaselenie  = (Spinner)findViewById(R.id.spZaselenie);

    // Инициализируем наш класс-обёртку
            cqh = new ContactDBmoy(Zaselenie.this);
            kdb = new KvartDB(Zaselenie.this);

            // База нам нужна для записи и чтения
            sdb = cqh.getWritableDatabase();
            sdb = kdb.getWritableDatabase();

            Bundle extras = getIntent().getExtras();
            rowId = extras.getLong(ContactMain.rowId);



            Cursor cursorKvart = sdb.query(KvartDB.TABLE_NAME, new String[] {
                    KvartDB._ID, KvartDB.NAME_COLUMN }, null, // The
                                                                    // columns
                                                                    // for the
                                                                    // WHERE
                                                                    // clause
                    null, // The values for the WHERE clause
                    null, // don't group the rows
                    null, // don't filter by row groups
                    null // The sort order
                    );


            ArrayList<String> labels = new ArrayList<String>();
            while (cursorKvart.moveToNext()) {
                // GET COLUMN INDICES + VALUES OF THOSE COLUMNS
                int idKvart = cursorKvart.getInt(cursorKvart.getColumnIndex(KvartDB._ID));
                String nameKvart = cursorKvart.getString(cursorKvart.getColumnIndex(KvartDB.NAME_COLUMN));
                Log.i("LOG_TAG", "ROW " + idKvart + " HAS NAME " + nameKvart);



                    labels.add(nameKvart);
                    // Creating adapter for spinner
                    ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
                            android.R.layout.simple_spinner_item, labels);

                    // Drop down layout style - list view with radio button
                    dataAdapter
                            .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
                    dataAdapter.notifyDataSetChanged();

                    // attaching data adapter to spinner
                    spZaselenie.setAdapter(dataAdapter);
            }
            cursorKvart.close();

    }

    public Zaselenie() {
        // TODO Auto-generated constructor stub
    }

    @Override
    protected void onResume() {
        super.onResume();

    }

    @Override
    protected void onStop() {
        super.onStop();
        // закрываем соединения с базой данных
        sdb.close();
        kdb.close();
    }
}

检查
extras
是否为
null
,如下所示

if(extras != null) {
    rowId = extras.getLong(ContactMain.rowId);
}
if(cursorKvart != null && cursorKvart.getCount() > 0) {

    while (cursorKvart.moveToNext()) {

        ......

    }

}
还要检查
光标
对象是否为空,如下所示

if(extras != null) {
    rowId = extras.getLong(ContactMain.rowId);
}
if(cursorKvart != null && cursorKvart.getCount() > 0) {

    while (cursorKvart.moveToNext()) {

        ......

    }

}

首先检查您的
rowId
notnull

并在
While()外部设置
ArrayAdapter

 ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
                        android.R.layout.simple_spinner_item, labels);

 dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

 spZaselenie.setAdapter(dataAdapter);
ArrayAdapter dataAdapter=新的ArrayAdapter(此,
android.R.layout.simple\u微调器(项目、标签);
dataAdapter.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉项);
设置适配器(数据适配器);

您应该在dubug模式下运行代码,这样您就可以很容易地确定在哪一行获得空指针。我认为这是发现异常和错误的最佳方法。

哪一行是您的39行???
getExtras()
返回
null
您的问题可能在这里rowId=extras.getLong(ContactMain.rowId);因为getExtras()为空。@Zloyel给出了给出答案的反馈。