Faktycznie chyba trochę z rozpędu to zrobiłem. Jak możesz mi powiedzieć czy teraz nie ma błędu
public View getView(final int position, View convertView, final ViewGroup parent) {
ViewHolder view;
if (convertView == null) {
LayoutInflater inflater = (LayoutInflater) ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.listaadapter, parent, false);
view = new ViewHolder();
view.hour = (TextView) convertView.findViewById(R.id.textView20);
view.ids = (TextView) convertView.findViewById(R.id.editText21);
view.test = (TextView) convertView.findViewById(R.id.textView5);
view.button = (Button) convertView.findViewById(R.id.button12);
convertView.setTag(view);
} else {
view = (ViewHolder) convertView.getTag();
}
view.hour.setText(hours.get(position));
view.ids.setText(id[position]);
view.test.setText("Test");
view.button.setTag(position);
view.test.setText("Test");
if (position == 3) {
view.button.setBackgroundColor(Color.BLACK);
} else {
view.button.setBackgroundColor(Color.YELLOW);
}
view.button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
view.setBackgroundColor(Color.RED);
Toast.makeText(ctx, "Pozycja: " + position + " Tag: " + view.getTag(), Toast.LENGTH_LONG).show();
}
});
return convertView;
}
}
Połączony post:
Problem rozwiązany. Może komuś się przyda
package com.example.pawel.kalendarzyk;
import android.annotation.TargetApi;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.graphics.Color;
import android.os.Build;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.content.Context;
import android.view.LayoutInflater;
import android.widget.Button;
import android.widget.EditText;
import android.widget.SimpleCursorAdapter;
import android.widget.TextView;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.Objects;
public class ListaAdapter extends BaseAdapter {
private ArrayList<String> hours;
private String[] id;
private Context ctx;
private ArrayList<Integer> pozycjaklik = new ArrayList<>();
public ListaAdapter(Context ctx, ArrayList<String> importeddata, String[] nowedane) {
this.ctx = ctx;
this.hours = importeddata;
this.id = nowedane;
}
public int getCount() {
return hours.size();
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
static class ViewHolder {
private TextView hour;
private TextView ids;
private TextView test;
private Button button;
}
public View getView(final int position, View convertView, final ViewGroup parent) {
ViewHolder view;
if (convertView == null) {
LayoutInflater inflater = (LayoutInflater) ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.listaadapter, parent, false);
view = new ViewHolder();
view.hour = (TextView) convertView.findViewById(R.id.textView20);
view.ids = (TextView) convertView.findViewById(R.id.editText21);
view.test = (TextView) convertView.findViewById(R.id.textView5);
view.button = (Button) convertView.findViewById(R.id.button12);
convertView.setTag(view);
} else {
view = (ViewHolder) convertView.getTag();
}
view.hour.setText(hours.get(position));
view.ids.setText(id[position]);
view.test.setText("Test");
view.test.setText("Test");
view.button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
view.setBackgroundColor(Color.RED);
pozycjaklik.add(position);
Toast.makeText(ctx, "Pozycja: " + position + " Tag: " + view.getTag(), Toast.LENGTH_LONG).show();
}
});
if(pozycjaklik.contains(position)){
view.button.setBackgroundColor(Color.RED);
Log.e("Udało", " sie");
}
return convertView;
}
}