【问题标题】:Strikethrough text ListView cannot find symbol method删除线文本 ListView 找不到符号方法
【发布时间】:2019-12-21 13:04:21
【问题描述】:

我正在做一个待办事项列表,我想在双击 ListView 后添加一个删除线效果,但它给了我一个错误,内容如下。

找不到符号 listView.setPaintFlags(listView.getPaintFlags() _ Paint.STRIKE_THRU_TEXT_FLAG)

我该如何解决?

listView.setOnTouchListener(new View.OnTouchListener() {
    private GestureDetector gd = new GestureDetector(MainActivity.this,new GestureDetector.SimpleOnGestureListener() {
        public boolean onDoubleTap(MotionEvent e) {
            ListView listView = (ListView) findViewById(R.id.listView);
            listView.setPaintFlags(listView.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
            return true;
        }
    });
        @Override
        public boolean onTouch(View view, MotionEvent event) {
            return gd.onTouchEvent(event);
        }
    });
}

【问题讨论】:

    标签: java android android-studio listview strikethrough


    【解决方案1】:

    我认为ListView 没有在其项目上提供删除线功能的方法。我认为 TextView 在您的 ListView 的一个项目中具有应该像下面这样工作的属性。

    TextView tv = (TextView) v.findViewById(android.R.id.text1);
    tv.setPaintFlags(tv.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
    

    您也可以考虑实现您的自定义适配器以获取 TextView 的引用并使用上面的代码删除视图。

    【讨论】:

    • 是的,听了你的建议后它工作了,非常感谢!!
    • 很高兴知道我可以提供帮助。不客气。 :)
    • 它有效,但只是在第一个项目上有效,我不知道为什么 :( 抱歉,我还是 Android 新手。
    • 我建议为您的ListVIew 实现一个自定义适配器。您可以查看tutorial here 以了解如何实现自定义适配器。一旦您拥有了 ListView 的自定义适配器,您将可以更好地控制列表项。
    猜你喜欢
    • 1970-01-01
    • 2015-01-19
    • 2019-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多