gpt4 book ai didi

java - ListView 在 setOnItemClickListener 上产生 nullpointerexception

转载 作者:行者123 更新时间:2023-11-29 08:06:33 24 4
gpt4 key购买 nike

我正在尝试使用一些教程代码并添加一个 OnItemClick 监听器,但是当它击中监听器并使我的应用程序崩溃时,会不断抛出异常。这是我第一次尝试在 Android 环境中工作,所以我想了解所有这些东西是如何相互关联的。

这是我尝试过的:

import java.util.ArrayList;
import java.util.List;

import org.json.JSONObject;

import android.app.AlertDialog;
import android.app.ListActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;


public class RssActivity extends ListActivity{

private RssListAdapter adapter;

private OnItemClickListener newsSelectListener = new OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
AlertDialog.Builder alert=new AlertDialog.Builder(RssActivity.this);
alert.setTitle("Clicked").setMessage("Item clicked").setNeutralButton("OK", null).show();

}
};

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

List<JSONObject> jobs = new ArrayList<JSONObject>();
try {
jobs = RssReader.getLatestRssFeed();
} catch (Exception e) {
Log.e("RSS ERROR", "Error loading RSS Feed Stream >> " + e.getMessage() + " //" + e.toString());
}

adapter = new RssListAdapter(this,jobs);
setListAdapter(adapter);

ListView lv = (ListView)findViewById(R.id.list);
lv.setOnItemClickListener(newsSelectListener);

}
}

我还尝试将 setListAdapter 更改为 lv.setListAdapter,但这似乎不是一个有效的声明。

我错过了什么?

最佳答案

ListActivity 不要求您通过 setContentView() 分配布局,也就是说,如果您想显示一个列表,但如果您添加另一个 View ,您的ListView 应包含设置为 @android:id/listandroid:id 属性,如下面的 xml

<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ListView>

尝试改变你的代码

ListView lv = (ListView)findViewById(R.id.list);

对此

ListView lv = getListView();
lv.setOnItemClickListener(newsSelectListener);

关于java - ListView 在 setOnItemClickListener 上产生 nullpointerexception,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10841929/

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