gpt4 book ai didi

Android ListView performLaunchActivity错误不显示xml布局

转载 作者:行者123 更新时间:2023-11-29 21:52:55 24 4
gpt4 key购买 nike

我正在通过 SQLite 从数据库中获取数据。我将数据记录到数据库并使用 Listview 我想在 xml 中显示数据。但无法启动 Activity 。我是第一次使用 Listview。谢谢你的帮助。

ActivityThread.performLaunchActivity(ActivityThread$ActivityClientRecord, Intent) line: 2180    
ActivityThread.handleLaunchActivity(ActivityThread$ActivityClientRecord, Intent) line: 2230
ActivityThread.access$600(ActivityThread, ActivityThread$ActivityClientRecord, Intent) line: 141
ActivityThread$H.handleMessage(Message) line: 1234
ActivityThread$H(Handler).dispatchMessage(Message) line: 99
Looper.loop() line: 137
ActivityThread.main(String[]) line: 5039
Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method]
Method.invoke(Object, Object...) line: 511
ZygoteInit$MethodAndArgsCaller.run() line: 793
ZygoteInit.main(String[]) line: 560
NativeStart.main(String[]) line: not available [native method]

这是Java代码;

public class ButceGetirenListView extends ListActivity {

Spinner yil,ay;

@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);

yil=(Spinner)findViewById(R.id.spinnerYillar);
ay=(Spinner)findViewById(R.id.spinnerAylar);

String[] result=getiren();
setListAdapter(new ArrayAdapter<String>(this, R.layout.butcegetir,result));

ListView listV=getListView();
listV.setOnItemClickListener(new OnItemClickListener() {

public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
Toast.makeText(getApplicationContext(),((TextView)arg1).getText(), Toast.LENGTH_SHORT).show();

}


});
}
protected String[] getiren(){

int yillar=Integer.valueOf(yil.getSelectedItem().toString());
String aylar=ay.getSelectedItem().toString();
TemporaryDatabase tdb=new TemporaryDatabase(this);
tdb.open();
String[] result=new String[25];
result = tdb.getDataHesapla(yillar,aylar);
tdb.close();
return result;
}

}

和xml代码:

<TextView 
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/textViewListView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="15dp">
</TextView>

最佳答案

您正在使用:

yil=(Spinner)findViewById(R.id.spinnerYillar);
ay=(Spinner)findViewById(R.id.spinnerAylar);

但是,在您的 XML 文件中没有任何地方有两个具有这些 ID 的 Spinner。事实上,您甚至从未调用 setContentView() 来使用您的 XML 文件。

因此,yilay 为 null,当您尝试在 中使用它们时将导致 NullPointerException getiren() 方法。

要解决此问题,请将微调器添加到您的布局,并在使用 findViewById() 之前调用 setContentView()。您还需要添加具有以下 ID 的 ListView:

android:id="@android:id/list"

以便 ListActivity 可以找到具有自定义布局的 ListView

示例

<YourBaseLayout>
<ListView
android:id="@android:id/list" />
<TextView />
<firstSpinner />
<secondSpinner />
</YourBaseLayout>

关于Android ListView performLaunchActivity错误不显示xml布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13988797/

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