У меня есть одна видимая проблема в моем приложении.Я нашел API и обучить работе с модифицированной библиотекой.Через этот API-интерфейс я получаю список заданий с одного сайта и представляю их в программе переработчика, основанной на специальном адаптере.В этот реселлер ViewView я отправляю jobs: ArrayList<JobModel>
, и я создал JobModel
, который является моим классом модели.Затем в onBindViewHolder
:
val jobModel = jobs[position]
и вот мой класс модели:
public class JobModel {
@SerializedName("company_name")
@Expose
private String company_name;
@SerializedName("lastdate")
@Expose
private String lastdate;
@SerializedName("id")
@Expose
private int id;
@SerializedName("position")
@Expose
private String position;
@SerializedName("location")
@Expose
private String location;
@SerializedName("job_link")
@Expose
private String job_link;
@SerializedName("seen")
@Expose
private boolean seen;
public JobModel(String company_name, String lastdate, int id, String position, String location, String job_link, boolean seen) {
this.company_name = company_name;
this.lastdate = lastdate;
this.id = id;
this.position = position;
this.location = location;
this.job_link = job_link;
this.seen = seen;
}
public String getCompany_name() {
return company_name;
}
public String getLastdate() {
return lastdate;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getPosition() {
return position;
}
public void setPosition(String position) {
this.position = position;
}
public String getLocation() {
return location;
}
public String getJob_link() {
return job_link;
}
public boolean isSeen() {
return seen;
}
}
проблема заключается в том, что я должен пометить выбранную работу, как показано для этого я должен отправитьзапрос с идентификатором выбранной работы, но я отправляю идентификатор последнего видимого элемента списка.Я понимаю, почему это происходит, но я не представляю, как решить эту проблему.Это происходит потому, что я создал глобальную переменную id:
var jId: Int? = 0
, а затем в onBindViewHolder
я присваиваю значение этой переменной:
val jobModel = jobs[position]
jId = jobModel.id
, и когда я щелкаю по списку элементов,отправляет запрос с последним видимым элементом в моем recyclerView.Поэтому я могу предложить только одно решение - создать массив, который будет заполнять идентификаторами заданий, а затем, когда я нажму на одно из заданий, получу элемент по позиции, а затем отправлю запрос. Работа с кликами:
holder.itemView.setOnClickListener(this)
затем:
override fun onClick(p0: View?) {
Singleton.clickReq(jId, ctx)
click.sendData(url, pos!!, jobTitle!!)
}
Итак, как мне решить мою проблему?