Написал такой адаптер
public class TAdapter extends ArrayAdapter<Trenirovka> {
private LayoutInflater inflater;
private int layout;
private ArrayList<Trenirovka> trenirovkaList;
MainActivity m = new MainActivity();
public TAdapter(Context context, int resource, ArrayList<Trenirovka> trenirovka) {
super(context, resource, trenirovka);
this.trenirovkaList = trenirovka;
this.layout = resource;
this.inflater = LayoutInflater.from(context);
}
public View getView(int position, View convertView, ViewGroup parent) {
final ViewHolder viewHolder;
if (convertView == null) {
convertView = inflater.inflate(this.layout, parent, false);
viewHolder = new ViewHolder(convertView);
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
final Trenirovka trenirovka = trenirovkaList.get(position);
viewHolder.nameView.setText("Id:"+trenirovka.getID() + " Name: " + trenirovka.getName());
viewHolder.parView.setText(formatValue(trenirovka.getPar_one(), trenirovka.getPar_two(), trenirovka.getPar_three(), trenirovka.getPar_fore()));
viewHolder.loadbutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent bf = new Intent();
bf.putExtra("id", trenirovka.getID());
bf.putExtra("name", trenirovka.getName());
bf.putExtra("par1", trenirovka.getPar_one());
bf.putExtra("par2", trenirovka.getPar_two());
bf.putExtra("par3", trenirovka.getPar_three());
bf.putExtra("par4", trenirovka.getPar_fore());
Intent a = new Intent(TAdapter.this.getContext(), AcLoad.class);
new Activity().startActivity(a);
}
});
viewHolder.addButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
return convertView;
}
private String formatValue(int par_one, int par_two, int par_three, int par_ofore) {
return String.valueOf(par_one) + ", " + String.valueOf(par_two) + ", " + String.valueOf(par_three) + ", " + String.valueOf(par_ofore);
}
private class ViewHolder {
final Button addButton, loadbutton;
final TextView nameView, parView;
ViewHolder(View view) {
addButton = (Button) view.findViewById(R.id.addButton);
loadbutton = (Button) view.findViewById(R.id.loadbutton);
nameView = (TextView) view.findViewById(R.id.nameView);
parView = (TextView) view.findViewById(R.id.parView);
}
}
Но при нажатии на кнопку данный код вызывает ошибку а именно последняя сточка с запуском активности , подскажите пожалуйста что не так
viewHolder.loadbutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent bf = new Intent();
bf.putExtra("id", trenirovka.getID());
bf.putExtra("name", trenirovka.getName());
bf.putExtra("par1", trenirovka.getPar_one());
bf.putExtra("par2", trenirovka.getPar_two());
bf.putExtra("par3", trenirovka.getPar_three());
bf.putExtra("par4", trenirovka.getPar_fore());
Intent a = new Intent(TAdapter.this.getContext(), AcLoad.class);
new Activity().startActivity(a);
}
});
Вот такая ошибка TAdapter$1.onClick(TAdapter.java:65)
Cтартовать активити надо так же из-под контекста. К примеру
Intent a = new Intent(TAdapter.this.getContext(), AcLoad.class);
viewHolder.loadbutton.getContext().startActivity(a);
Вот это не код ошибки, а только место падения
TAdapter$1.onClick(TAdapter.java:65)
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Реализовать функциональность абстрактного класса AbstractArrayOfPoints, приведенного в примере, через использование двумерного массива вещественных...
LogcatEvent LogДобавляя тестовый ad unit ID(с офицсайта AdMob for Androids)(ca-app-pub-3940256099942544/6300978111), всё работает отлично, и тип эта реклама поздравляет меня, что...