gpt4 book ai didi

android - 我的代码有什么问题吗?

转载 作者:行者123 更新时间:2023-11-29 00:50:15 25 4
gpt4 key购买 nike

package one.two;

import android.app.Activity;
import android.database.Cursor;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.SimpleCursorAdapter;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.AdapterView.OnItemSelectedListener;


public class Booking extends Activity
{
private DBAdapter db;
private Spinner colourSpinner;
public Cursor c;
public TextView txtArrival;
/** Called when the activity is first created. */
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
db = new DBAdapter(this);
this.setContentView(R.layout.booking);
db.open();
fillData();
db.close();

Spinner colourSpinner = (Spinner) findViewById(R.id.myspinner);
}

private void fillData()
{
Cursor c = db.getSpinnerData();
startManagingCursor(c);
String[] from = new String[]{DBAdapter.KEY_ARRIVAL};
int[] to = new int[]{android.R.id.text1};
SimpleCursorAdapter adapter =
new SimpleCursorAdapter(this,R.layout.booking, c, from, to );
adapter.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item );
Spinner colourSpinner = (Spinner) findViewById(R.id.myspinner);
colourSpinner.setAdapter(adapter);
}
public class MyOnItemSelectedListener implements OnItemSelectedListener
{
public void onItemSelected(AdapterView<?> arg0, View v,int position, long id)
{
if (Booking.this.c.moveToPosition(position)) {
String title=Booking.this.c.getString(1);
Booking.this.txtArrival.setText(title);
}

}
@Override
public void onNothingSelected(AdapterView<?> arg0)
{
// TODO Auto-generated method stub

}
};
}

错误日志

 08-06 01:27:34.874: ERROR/AndroidRuntime(721): Uncaught handler: thread main exiting due to uncaught exception
08-06 01:27:34.893: ERROR/AndroidRuntime(721): java.lang.NullPointerException
08-06 01:27:34.893: ERROR/AndroidRuntime(721): at one.two.Booking$MyOnItemSelectedListener.onItemSelected(Booking.java:53)
08-06 01:27:34.893: ERROR/AndroidRuntime(721): at android.widget.AdapterView.fireOnSelected(AdapterView.java:856)
08-06 01:27:34.893: ERROR/AndroidRuntime(721): at android.widget.AdapterView.access$200(AdapterView.java:41)
08-06 01:27:34.893: ERROR/AndroidRuntime(721): at android.widget.AdapterView$SelectionNotifier.run(AdapterView.java:827)
08-06 01:27:34.893: ERROR/AndroidRuntime(721): at android.os.Handler.handleCallback(Handler.java:587)
08-06 01:27:34.893: ERROR/AndroidRuntime(721): at android.os.Handler.dispatchMessage(Handler.java:92)
08-06 01:27:34.893: ERROR/AndroidRuntime(721): at android.os.Looper.loop(Looper.java:123)
08-06 01:27:34.893: ERROR/AndroidRuntime(721): at android.app.ActivityThread.main(ActivityThread.java:3948)
08-06 01:27:34.893: ERROR/AndroidRuntime(721): at java.lang.reflect.Method.invokeNative(Native Method)
08-06 01:27:34.893: ERROR/AndroidRuntime(721): at java.lang.reflect.Method.invoke(Method.java:521)
08-06 01:27:34.893: ERROR/AndroidRuntime(721): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:782)
08-06 01:27:34.893: ERROR/AndroidRuntime(721): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540)
08-06 01:27:34.893: ERROR/AndroidRuntime(721): at dalvik.system.NativeStart.main(Native Method)

谢谢。

最佳答案

在方法 fillData() 中,您正在创建一个本地 Cursor 对象“Cursor c”,它隐藏了您的类成员“public Cursor c”。您正在初始化局部变量,当调用 onItemSelected 时,Booking.this.c 将为 null,这会为您提供 NullPointerException。

删除 fillData() 中的“光标”部分应该可以避免这种情况。

private void fillData()
{
c = db.getSpinnerData();
...
}

关于android - 我的代码有什么问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3412291/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com