为什么我会收到警告"variable may not be initialized"



我试图使用数组适配器,运行方法和多线程创建列表视图,但我正在收到警告"变量摘要可能无法初始化",如下行: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;
    }
}

这里的问题是您的局部变量SummaryData summary正在遮蔽属性this.summary。尝试将其中一个重命名为其他东西,一切都会像魅力一样工作:)

相关内容

最新更新