Android 为什么我会收到警告;变量可能未初始化";

Android 为什么我会收到警告;变量可能未初始化";,android,multithreading,listview,android-fragments,android-arrayadapter,Android,Multithreading,Listview,Android Fragments,Android Arrayadapter,我试图使用数组适配器、运行方法和多线程创建列表视图,但在以下行收到警告“变量摘要可能未初始化:SummaryData summary=summary.get(position)。谢谢你的帮助,请记住我是Android开发新手 我的主要活动如下: public class MainActivity extends FragmentActivity implements OnClickListener{ ... public void updateResponse() { r

我试图使用数组适配器、运行方法和多线程创建列表视图,但在以下行收到警告“变量摘要可能未初始化:
SummaryData summary=summary.get(position)。谢谢你的帮助,请记住我是Android开发新手

我的主要活动如下:

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);
}
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;
    }
}
我的ArrayAdapter如下所示:

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);
}
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;
    }
}
公共类StorylineAdapter扩展了ArrayAdapter{
私人语境;
私人可运行;
私有数组列表摘要;
公共StorylineAdapter(上下文、int资源、ArrayList对象){
超级(上下文、资源、对象);
this.context=上下文;
this.runnable=runnable;
this.summary=对象;
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
LayoutInflater充气器=(LayoutInflater)context.getSystemService(Activity.LAYOUT\u充气器\u SERVICE);
视图=充气机。充气(R.layout.item_故事情节,父级,false);
SummaryData summary=summary.get(位置);
TextView tv=(TextView)view.findViewById(R.id.textView1);
tv.setText(summary.getActivity());
返回视图;
}
}

这里的问题是您的局部变量
SummaryData summary
对属性
this.summary
进行了隐藏。尝试将其中一个重命名为其他名称,所有内容都会像一个符咒一样工作:)

becoz
summary=empty
at
StorylineAdapter=new StorylineAdapter(MainActivity.this,R.layou.item\u storyline,summary)你从哪里得到警告?你确定这是警告而不是错误吗?
summary
main活动中从何而来
?除了扩展
ArrayAdapter
和使用
summary.get(position)
等数据之外。。。当然,只有在你使用过滤的情况下,它才会把你踢进a**。。。但是如果你不需要它,为什么不扩展
BaseAdapter
不知道为什么有人否决了你,这显然是正确的答案:pThanks似乎有效,但现在当应用程序崩溃时,我在堆栈跟踪中得到了这个:07-14 19:00:15.605 29316-29316/com.protogeo.moves.demos.apps W/dalvikvm﹕ threadid=1:线程以未捕获异常退出(组=0xa4b8f648)07-14 19:00:15.633 29316-29316/com.protogeo.moves.demos.apps E/AndroidRuntime﹕ 致命异常:android.widget.ArrayAdapter.getCount(ArrayAdapter.java:330)上的主java.lang.NullPointerException(android.widget.ListView.onMeasure(ListView.java:1128)上的android.view.view.view.measure(view.java:15848)…您的
getCount()
实现有问题。您正在尝试访问
null
对象的属性。。。可能是
摘要
字段(我猜)@dbo,如果您认为我的答案帮助您解决了问题,我可以请您将我的答案标记为正确:)谢谢Kirkil,答案确实有点帮助,但我仍然卡住了&得到了一个致命的异常。我希望得到一些关于如何防止致命异常的进一步解释,请让我知道您是否能提供帮助?