我正在创建一个任务列表应用。
我有两个arrayList:taskArray和taskArray2。 taskArray包含以下任务:"milk", "bread"
。 taskArray2包含任务的状态:"true", "false"
。 “ true”表示相应的任务应具有删除线,表示已完成。 “ false”表示相反的意思。在此示例中,“牛奶”应具有删除线,而“面包”则不应具有删除线。
我还有一个ListView任务,其中显示了任务和删除线。
由于某些原因,以下代码显示了任务,但未显示必要的删除线。
public class MainActivity extends AppCompatActivity implements View.OnClickListener, AdapterView.OnItemClickListener {
public View v;
public ListView tasks;
public ArrayList<String> taskArray;
public ArrayAdapter<String> adapter;
public ArrayList<String> taskArray2;
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tasks = findViewById(R.id.tasks);
taskArray = FileHelper.readData(this);
taskArray2 = FileHelper2.readData(this);
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, taskArray);
tasks.setAdapter(adapter);
tasks.setOnItemClickListener(this);
}
for(int i = 0;i<taskArray2.size();i++){
if (taskArray2.get(i).equals("true")) {
View v = adapter.getView(i,null,tasks);
TextView text = (TextView) v;
text.setPaintFlags(text.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
}
}
}
我已经进行了广泛的研究以尝试解决此问题,包括使用onItemClick,重新启动活动以及使用Log.d()来确保for循环正在运行。但是,上述问题仍然存在。任何帮助将不胜感激。