В приведенном ниже файле XML содержатся два TextView с именами all
и incomplete
.
TextView: all
- Означает, что я отображаю завершенный список.
TextView: incomplete
- совпадение внутреннего состояния с последующим отображением только неполного списка.
Но это не работает каждый раз, когда отображается полный список. Таким же образом я возвратил код на сегодняшнюю дату
Может кто-нибудь помочь мне решить эту проблему?
xml:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="center"
android:gravity="center"
android:paddingTop="10dp"
android:id="@+id/luminary_controll">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:id="@+id/all"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="All"
android:textStyle="bold"
android:textColor="@color/black"
android:textSize="18sp"
android:layout_marginBottom="1dp"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:id="@+id/incomplete"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:textColor="@color/black"
android:text="In complete"
android:textStyle="bold"
android:textSize="18sp"
android:layout_marginBottom="1dp"/>
</LinearLayout>
</LinearLayout>
Ниже приведен код для onTouchListener как неполное, так и все.
java:
OntouchListner
incomplete.setOnTouchListener(new View.OnTouchListener() {
@SuppressLint("ResourceAsColor")
@Override
public boolean onTouch(View v, MotionEvent event) {
boolean isDuplicate = false;
incomplete.setTextColor(ContextCompat.getColor(getContext(), R.color.tabs1));
today.setTextColor(ContextCompat.getColor(getContext(), R.color.black));
all.setTextColor(ContextCompat.getColor(getContext(), R.color.black));
weekwise.setTextColor(ContextCompat.getColor(getContext(), R.color.black));
String apiResponseStr = PreferenceManagerTask.getInstance(requireContext()).getAPIResponseTask(); // so you have to press your refresh buttonok
if (!apiResponseStr.equals("")){
Gson gson = new Gson();
SyncModule obj = gson.fromJson(apiResponseStr, SyncModule.class);
workingOnResponse(obj);
}
return true;
}
});
all.setOnTouchListener(new View.OnTouchListener() {
@SuppressLint("ResourceAsColor")
@Override
public boolean onTouch(View v, MotionEvent event) {
// incomplete.setTextColor(ContextCompat.getColor(getContext(), R.color.White));
// all.setBackgroundColor(ContextCompat.getColor(getContext(), R.color.tabs1));
all.setTextColor(ContextCompat.getColor(getContext(), R.color.tabs1));
incomplete.setTextColor(ContextCompat.getColor(getContext(), R.color.black));
today.setTextColor(ContextCompat.getColor(getContext(), R.color.black));
weekwise.setTextColor(ContextCompat.getColor(getContext(), R.color.black));
return true;
}
});
private void workingOnResponse(SyncModule syncModule){
isdate=true;
String success = syncModule.getSuccess();
if (success.equals("true")) {
SyncResults results = syncModule.getResult();
Sync sync = results.getSync();
ArrayList<SyncUpdated> syncUpdateds = sync.getUpdated();
for (SyncUpdated syncUpdated : syncUpdateds) {
ArrayList<SyncBlocks> syncBlocks = syncUpdated.getBlocks();
String value = "";
String subject = "";
String taskType = "";
String assigned = "";
String scheduleDates = "";
String scheduleDate = "";
String location = "";
String opportunityNo = "";
status = "";
String outcome = "";
String createdtime = "";
String modifiedtime = "";
String modifiedby = "";
String remark = "";
String activitytype = "";
String parent_id="";
for (SyncBlocks syncBlocks1 : syncBlocks) {
String label = syncBlocks1.getLabel();
if (label.equals("Task Details")) {
ArrayList<SynFields> synFields = syncBlocks1.getFields();
for (SynFields synFields1 : synFields) {
name = synFields1.getName();
values = synFields1.getValue();
if (name.equals("date_start")) {
scheduleDates = String.valueOf(values);
DateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd");
DateFormat outputFormat = new SimpleDateFormat("dd-MM-yyyy");
// String inputDateStr="2013-06-24";
Date date = null;
try {
date = inputFormat.parse(scheduleDates);
scheduleDate = outputFormat.format(date);
} catch (ParseException e) {
e.printStackTrace();
}
} else if (name.equals("taskstatus")) {
status = String.valueOf(values);
}
}
PreferenceManagerTask.getInstance(requireContext()).setMultipleData(subject, taskType, assigned, scheduleDate, location, opportunityNo, status, outcome);
}
TaskModel taskModel = new TaskModel(subject, taskType, assigned, scheduleDate, location, opportunityNo, status, " " + outcome + " ", createdtime, modifiedtime, activitytype, modifiedby, remark, parent_id);
if(name.equals("taskstatus")){
for (TaskModel taskModel1 : listTask) {
if (taskModel1.getStatus().equals(incomplete.getText())) {
isDuplicate = true;
listTask.add(taskModel);
taskAdapter.notifyDataSetChanged();
}
}
}else if(name.equals("date_start")){
String date = new SimpleDateFormat("dd-MM-yyyy", Locale.getDefault()).format(new Date());
if(scheduleDate.equals(date)) {
listTask.add(taskModel);
taskAdapter.notifyDataSetChanged();
}
}else {
listTask.add(taskModel);
taskAdapter.notifyDataSetChanged();
}
}