gpt4 book ai didi

java - ListView 无法正确显示自定义数组适配器?

转载 作者:行者123 更新时间:2023-12-01 05:51:46 24 4
gpt4 key购买 nike

嗨,我的Android应用程序有一个listactivity,该 Activity 从另一个具有Intent的 Activity 中调用,在调用ListActivity的onCreate方法后,创建一个新的AsynchTask并调用Web服务,并将所有内容放入我的ArrayList中,来自Web服务的数据就可以了,但是当我尝试实现 customArrayAdapter 的 getView 时,事情变得很奇怪,它有时显示列表的内容,有时不显示,有时当我滚动时。这是我的自定义适配器的 getView 方法。 (布局= TextView + ListView )

class EntryDetailsAdapter extends ArrayAdapter<Entry>{

private ArrayList<Entry> entryDetails;
private Entry tempEntry;

public EntryDetailsAdapter(Context context, int textViewResourceId,
List<Entry> objects) {
super(context, textViewResourceId, objects);
// TODO Auto-generated constructor stub
entryDetails = (ArrayList<Entry>) objects;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
View mView = convertView;

if(mView == null){

LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
mView = inflater.inflate(R.layout.entry_rows, null);

}

tempEntry = entryDetails.get(position);
//data is fine but problem is while occur while showing data

if(tempEntry != null){
//get the textview from list row xml that i defined
TextView textView = (TextView) findViewById(R.id.entryRowTextView);
if(textView != null){
//i dont know why but this sometimes giving null so check
textView.setText(tempEntry.getEntryContent());
}
}
return mView;
}
}

[注意] 问题可能类似于 this question但我找不到解决方案

最佳答案

尝试:

 TextView textView = (TextView)mView.findViewById(R.id.entryRowTextView);

在获取特定行的 TextView 字段时,您缺少 mView。

关于java - ListView 无法正确显示自定义数组适配器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4480071/

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