Я действительно не знаю, как решить эту проблему (ошибка: несовместимые типы: выведенный тип не соответствует верхней границе (ям); выведен: INT # 1 верхняя граница (и): Giocatore [], Parcelable, где INT # 1 - это тип пересечения: INT # 1 расширяет Giocatore [], Parcelable).
Показывает ошибку в строке "Giocatore [] gio = intent.getParcelableExtra (" giocatori ");".
public class Giocatore implements Parcelable {
private String nome;
private String ruolo;
private double valore;
public Giocatore(String nome, String ruolo, double valore) {
setNome(nome);
setRuolo(ruolo);
setValore(valore);
}
//getters and setters
protected Giocatore(Parcel in) {
nome = in.readString();
ruolo = in.readString();
valore = in.readDouble();
}
public static final Creator<Giocatore> CREATOR = new Creator<Giocatore>() {
@Override
public Giocatore createFromParcel(Parcel in) {
return new Giocatore(in);
}
@Override
public Giocatore[] newArray(int size) {
return new Giocatore[size];
}
};
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(nome);
dest.writeString(ruolo);
dest.writeDouble(valore);
}
}
Класс "Squadra"
public class Squadra {
private int componenti;
private String coloreMaglia;
private Giocatore[] squadra;
public Squadra() {
this.componenti = 5;
this.coloreMaglia = null;
squadra = new Giocatore[5];
}
public Giocatore[] getSquadra() {
return this.squadra;
}
}
Класс "SecondaPagina"
public class SecondaPagina extends AppCompatActivity implements AdapterView.OnItemSelectedListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_page2);
final Giocatore[] giocatori = new Giocatore[10];
Button next = findViewById(R.id.crea);
Button procedi = findViewById(R.id.procedi);
procedi.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
//some code
int pos = aggiungi(giocatori, new Giocatore(n, r, v)); //function "aggiungi" add an object "Giocatore" to the array "giocatori" and return the position where the object has been added (100% works)
//some code
}
});
next.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent = new Intent(SecondaPagina.this, TerzaPagina.class);
intent.putExtra("giocatori", giocatori);
startActivity(intent);
}
});
}
}
public class TerzaPagina extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_page3);
Intent intent = getIntent();
Giocatore[] gio = intent.getParcelableExtra("giocatori");
}
}
ошибка: несовместимые типы: выведенный тип не соответствует выведенным верхним границам: INT # 1 верхняя граница (ы): Giocatore [], Parcelable, где INT # 1 является типом пересечения: INT # 1 расширяет Giocatore [], Parcelable
Показывает ошибку в строке "Giocatore [] gio = intent.getParcelableExtra ("giocatori"); ".
Пожалуйста, помогите мне, спасибо.