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

标签 android multithreading listview android-fragments android-arrayadapter

我正在尝试使用数组适配器、运行方法和多线程创建 ListView ,但我在以下行中收到警告“变量摘要可能未初始化”:SummaryData summary = summary。得到(位置);。感谢您的帮助,请记住我是 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。尝试将其中一个重命名为其他名称,一切都会像魅力一样工作:)

关于android - 为什么我收到警告 "variable may not be initialized",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31407192/

相关文章:

java - 无法在 Android 应用程序中使用 Java 库

java - javafx 中的标签未随线程自动更新

java - 在基本数据结构的List上,修改操作线程安全吗?CopyOnWriteArrayList吗?

android - 像 IOS 一样在 ListView 中滑动显示按钮

android - 对 Cloud Firestore 的多次写入是否有任何限制?

android - 当用户离开当前 Activity 时如何做某事

javascript - 默认的 android 浏览器不支持此 javascript 函数

java - 如何在没有线程的情况下并行化?

android - 在 Activity 中嵌入一个大小的 ListView - android

android - Android 中的 ListView 问题?