如何在可扩展列表视图中将文本视图标记为删除线
How to mark textview as strike through in Expandable Listview
当我在可扩展列表视图项上调用操作模式时,其中一个选项是标记为完成。
我在 onActionItemClicked 中所做的,其中 child_clicked 只是长按的视图:
TextView row = (TextView) child_clicked.findViewById(R.id.todoTitle);
if (todo.getStatus() == 1) {
int count = mSQLiteHelper.MarkTodoAsComplete(Id, mSQLiteDatabase);
row.setPaintFlags(row.getPaintFlags() & ~Paint.STRIKE_THRU_TEXT_FLAG);
} else {
int count = mSQLiteHelper.MarkTodoAsActive(Id, mSQLiteDatabase);
row.setPaintFlags(row.getPaintFlags() & (~Paint.STRIKE_THRU_TEXT_FLAG));
}
行布局看起来像这样:
<LinearLayout>
<TextView android:id="@+id/todoTitle"/>
</LinearLayout>
但是什么也没有发生,没有错误。必须在这里做什么才能使这项工作正常进行?
将此代码应用于 ExpandableListView 项目的 TextView。
tv.setPaintFlags(tv.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
前面提到的可扩展列表视图方法不起作用。您应该像这样将新对象传递给 Hashmap。如果您已经在适配器中设置,则无需添加删除线。
Todo newTodo;
if (todo.getStatus() == 1) {
newTodo = new Todo(todo.getTitle(), todo.getCategory(), 0, todo.getId_() );
int count = mSQLiteHelper.MarkTodoAsComplete(Id, mSQLiteDatabase);
} else {
newTodo = new Todo(todo.getTitle(), todo.getCategory(), 1, todo.getId_() );
int count = mSQLiteHelper.MarkTodoAsActive(Id, mSQLiteDatabase);
}
switch (todo.getCategory()) {
case 0:
L1.set(childPosition, newTodo);
ChildList.put(Headings.get(6), L1);
break;
...
}
mTodoExpandableAdapter.notifyDataSetChanged();
就是这样。希望这有帮助。
当我在可扩展列表视图项上调用操作模式时,其中一个选项是标记为完成。
我在 onActionItemClicked 中所做的,其中 child_clicked 只是长按的视图:
TextView row = (TextView) child_clicked.findViewById(R.id.todoTitle);
if (todo.getStatus() == 1) {
int count = mSQLiteHelper.MarkTodoAsComplete(Id, mSQLiteDatabase);
row.setPaintFlags(row.getPaintFlags() & ~Paint.STRIKE_THRU_TEXT_FLAG);
} else {
int count = mSQLiteHelper.MarkTodoAsActive(Id, mSQLiteDatabase);
row.setPaintFlags(row.getPaintFlags() & (~Paint.STRIKE_THRU_TEXT_FLAG));
}
行布局看起来像这样:
<LinearLayout>
<TextView android:id="@+id/todoTitle"/>
</LinearLayout>
但是什么也没有发生,没有错误。必须在这里做什么才能使这项工作正常进行?
将此代码应用于 ExpandableListView 项目的 TextView。
tv.setPaintFlags(tv.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
前面提到的可扩展列表视图方法不起作用。您应该像这样将新对象传递给 Hashmap。如果您已经在适配器中设置,则无需添加删除线。
Todo newTodo;
if (todo.getStatus() == 1) {
newTodo = new Todo(todo.getTitle(), todo.getCategory(), 0, todo.getId_() );
int count = mSQLiteHelper.MarkTodoAsComplete(Id, mSQLiteDatabase);
} else {
newTodo = new Todo(todo.getTitle(), todo.getCategory(), 1, todo.getId_() );
int count = mSQLiteHelper.MarkTodoAsActive(Id, mSQLiteDatabase);
}
switch (todo.getCategory()) {
case 0:
L1.set(childPosition, newTodo);
ChildList.put(Headings.get(6), L1);
break;
...
}
mTodoExpandableAdapter.notifyDataSetChanged();
就是这样。希望这有帮助。