【发布时间】:2015-07-14 12:54:02
【问题描述】:
我正在尝试使用数组适配器、运行方法和多线程创建列表视图,但我在以下行收到警告“变量摘要可能未初始化”:SummaryData summary = summary.get(position);。感谢您的帮助,请记住我是 Android 开发新手。
我的 MainActivity 如下所示:
public class MainActivity extends FragmentActivity implements OnClickListener{
...
public void updateResponse() {
runOnUiThread(new Runnable() {
@Override
public void run() {
StorylineAdapter adapter = new StorylineAdapter(MainActivity.this, R.layout.item_storyline, summary);
mEditTextResponse.setAdapter(adapter);
}
我的 ArrayAdapter 如下所示:
public class StorylineAdapter extends ArrayAdapter<SummaryData>{
private Context context;
private Runnable runnable;
private ArrayList<SummaryData> summary;
public StorylineAdapter(Context context, int resource, ArrayList<SummaryData> objects) {
super(context, resource, objects);
this.context = context;
this.runnable = runnable;
this.summary = objects;
}
@Override
public View getView(int position, View convertView, ViewGroup parent){
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.item_storyline, parent, false);
SummaryData summary = summary.get(position);
TextView tv = (TextView) view.findViewById(R.id.textView1);
tv.setText(summary.getActivity());
return view;
}
}
【问题讨论】:
-
becoz
summary=emptyStorylineAdapter adapter = new StorylineAdapter(MainActivity.this, R.layout.item_storyline, summary); -
您在哪里收到警告?您确定这是警告而不是错误吗?
summary在MainActivity中来自哪里? -
除了扩展
ArrayAdapter和使用summary.get(position)之类的数据...当然,只有当您使用过滤时,它才会将您踢进a**...但如果您不这样做需要它为什么不直接扩展BaseAdapter
标签: android multithreading listview android-fragments android-arrayadapter