Android 当调用onClick时,SQLite行条目为null

Android 当调用onClick时,SQLite行条目为null,android,sqlite,android-activity,null,onclick,Android,Sqlite,Android Activity,Null,Onclick,我很难找出这里出了什么问题。当数据看起来像这样时,我的代码可以很好地输入数据 mNextButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if (mPager.getCurrentItem() == mCurrentPageSequence.size()) {

我很难找出这里出了什么问题。当数据看起来像这样时,我的代码可以很好地输入数据

 mNextButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            if (mPager.getCurrentItem() == mCurrentPageSequence.size()) {

                Bundle t = mWizardModel.findByKey("Surf:Post Title").getData();
                if ( t != null )
                {
                    t = mWizardModel.findByKey("Snow:Post Title").getData();
                }
                if ( t != null )
                {
                    t = mWizardModel.findByKey("Skate:Post Title").getData();
                }
                String title = t.getString(Page.SIMPLE_DATA_KEY);


                Bundle p = mWizardModel.findByKey("Surf:Price").getData();
                if ( p != null )
                {
                    p = mWizardModel.findByKey("Snow:Price").getData();
                }
                if ( p != null )
                {
                    p = mWizardModel.findByKey("Skate:Price").getData();
                }
                String price = p.getString(Page.SIMPLE_DATA_KEY);

                String maincat = mWizardModel.findByKey("Main Category").getData().getString(Page.SIMPLE_DATA_KEY);

                myDb.insertRow(title, price, maincat);

        } else {
                if (mEditingAfterReview) {
                    mPager.setCurrentItem(mPagerAdapter.getCount() - 1);
                } else {
                    mPager.setCurrentItem(mPager.getCurrentItem() + 1);
                }
            }

        }});
但当它看起来像这样,因为我需要在下一个活动中添加一些照片,它的价格和标题将变为空

 mNextButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            if (mPager.getCurrentItem() == mCurrentPageSequence.size()) {

                Bundle t = mWizardModel.findByKey("Surf:Post Title").getData();
                if ( t != null )
                {
                    t = mWizardModel.findByKey("Snow:Post Title").getData();
                }
                if ( t != null )
                {
                    t = mWizardModel.findByKey("Skate:Post Title").getData();
                }
                String title = t.getString(Page.SIMPLE_DATA_KEY);


                Bundle p = mWizardModel.findByKey("Surf:Price").getData();
                if ( p != null )
                {
                    p = mWizardModel.findByKey("Snow:Price").getData();
                }
                if ( p != null )
                {
                    p = mWizardModel.findByKey("Skate:Price").getData();
                }
                String price = p.getString(Page.SIMPLE_DATA_KEY);

                String maincat = mWizardModel.findByKey("Main Category").getData().getString(Page.SIMPLE_DATA_KEY);


                myDb.insertRow(title, price, maincat);


                Intent I = new Intent(PostActivity.this, PostPhotosActivity.class);
                PostActivity.this.startActivity(I);

        } else {
                if (mEditingAfterReview) {
                    mPager.setCurrentItem(mPagerAdapter.getCount() - 1);
                } else {
                    mPager.setCurrentItem(mPager.getCurrentItem() + 1);
                }
            }

        }});
这是我收到的错误消息

11-21 20:42:55.361: E/SQLiteDatabase(31734): Error inserting title=null maincategory=Surf price=null
11-21 20:42:55.361: E/SQLiteDatabase(31734): android.database.sqlite.SQLiteConstraintException: mainTable.title may not be NULL (code 19)
11-21 20:42:55.361: E/SQLiteDatabase(31734):    at android.database.sqlite.SQLiteConnection.nativeExecuteForLastInsertedRowId(Native Method)
11-21 20:42:55.361: E/SQLiteDatabase(31734):    at android.database.sqlite.SQLiteConnection.executeForLastInsertedRowId(SQLiteConnection.java:775)
11-21 20:42:55.361: E/SQLiteDatabase(31734):    at android.database.sqlite.SQLiteSession.executeForLastInsertedRowId(SQLiteSession.java:788)
11-21 20:42:55.361: E/SQLiteDatabase(31734):    at android.database.sqlite.SQLiteStatement.executeInsert(SQLiteStatement.java:86)
11-21 20:42:55.361: E/SQLiteDatabase(31734):    at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1469)
11-21 20:42:55.361: E/SQLiteDatabase(31734):    at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1339)
11-21 20:42:55.361: E/SQLiteDatabase(31734):    at trade.ly.tradely.DBAdapter.insertRow(DBAdapter.java:111)
11-21 20:42:55.361: E/SQLiteDatabase(31734):    at trade.ly.tradely.PostActivity$3.onClick(PostActivity.java:130)
11-21 20:42:55.361: E/SQLiteDatabase(31734):    at android.view.View.performClick(View.java:4204)
11-21 20:42:55.361: E/SQLiteDatabase(31734):    at android.view.View$PerformClick.run(View.java:17355)
11-21 20:42:55.361: E/SQLiteDatabase(31734):    at android.os.Handler.handleCallback(Handler.java:725)
11-21 20:42:55.361: E/SQLiteDatabase(31734):    at android.os.Handler.dispatchMessage(Handler.java:92)
11-21 20:42:55.361: E/SQLiteDatabase(31734):    at android.os.Looper.loop(Looper.java:137)
11-21 20:42:55.361: E/SQLiteDatabase(31734):    at android.app.ActivityThread.main(ActivityThread.java:5041)
11-21 20:42:55.361: E/SQLiteDatabase(31734):    at java.lang.reflect.Method.invokeNative(Native Method)
11-21 20:42:55.361: E/SQLiteDatabase(31734):    at java.lang.reflect.Method.invoke(Method.java:511)
11-21 20:42:55.361: E/SQLiteDatabase(31734):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
11-21 20:42:55.361: E/SQLiteDatabase(31734):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
11-21 20:42:55.361: E/SQLiteDatabase(31734):    at dalvik.system.NativeStart.main(Native Method)

注意:活动确实是在错误之后开始的,这很奇怪。

显然,您的标题为空。我不明白你的空测试。如果你找到一块冲浪板,你就搜索一块雪;如果你也找到一块雪,你就搜索一块滑板?所以,不管怎样,你只能得到一个skate,并且只有在所有3个都存在的情况下?if语句是因为我有一个具有多个页面和分支的向导。我需要搜索分支以查找用户输入数据的位置。因此,findByKey。我知道这很可笑,但它起作用了