java - 如何在arraylist中罢工和取消罢工
问题描述
我试图能够删除和取消删除已添加到数组列表中的项目。但是我无法取消它。我尝试将代码放入 if 语句中,但无法使其正常工作。
请问有人可以帮忙吗?
public class MainActivity extends AppCompatActivity {
List<String> toDoList;
ArrayAdapter<String> arrayAdapter;
ListView listView;
EditText editText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
toDoList = new ArrayList<>();
arrayAdapter = new ArrayAdapter<>(this,R.layout.list_view_layout,toDoList);
listView = findViewById(R.id.id_list_view);
listView.setAdapter(arrayAdapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
TextView textView = (TextView) view;
if (textView.getPaintFlags() > 0) {
textView.setPaintFlags(textView.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
}
else {
textView.setPaintFlags(textView.getPaintFlags() & (~Paint.STRIKE_THRU_TEXT_FLAG));
}
}
});
setOnItemClickListener 在第一次单击时会删除该项目,但是当再次单击该项目时,它不会取消该项目
解决方案
你可以试试这个:
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
TextView textView = (TextView) view;
textView.setPaintFlags(textView.getPaintFlags() ^ Paint.STRIKE_THRU_TEXT_FLAG);
}
推荐阅读
- javascript - Angular - 如何将按钮标签值添加到 FormGroup
- python - 如何从非异步方法发送 websocket 消息?
- java - 当我打开另一个 JFrame 时,KeyListener 不起作用
- node.js - 在passport.js中过期用户会话
- python - 如何从浮点 dtype 对象中删除“$”符号,但在 Pandas 中包含带有“$”符号的值
- reactjs - 如何在 react-navigation Drawer 中添加按钮(在现有按钮之间)
- javascript - 如何在 html 中创建一个按钮链接,它将带您到同一页面的不同部分
- reactjs - 如果我从函数中返回它们,我的帖子不会呈现
- flask-sqlalchemy - SQLALCHEMY 查询过滤器 ID <
- typescript - 创建一个表并计算每列的总和