Ho bisogno di iniziare un'attività da 2 schermi diversi che hanno due modelli diversi ma, entrambi i modelli hanno alcune informazioni condivise che è quella che ho bisogno nella nuova attività. Il problema è che non riesco a fare in modo che quei modelli si estendano dallo stesso genitore, poiché uno dei modelli estende già un genitore. Ho pensato di creare un'interfaccia che contenga i metodi condivisi ma, se lo faccio, come posso inserire quell'interfaccia nel pacchetto richiesto per avviare la prossima attività?Metti l'interfaccia in bundle per iniziare una nuova attività
aggiungo un po 'di codice semplificato al fine di chiarire la mia situazione:
public class A extends Model implements CustomInterface {
String name;
String address;
public String getName(){
return name;
}
public String getAddress() {
return address;
}
}
public class B implements CustomInterface {
String name;
public String getName() {
return name;
}
}
public interface CustomInterface {
String getName();
}
Il mio problema è che ho bisogno di iniziare un'attività con un bundle con le informazioni condivise tra i due modelli. Quindi, vorrei mettere CustomInterface in un pacchetto. Come potrei farlo?
Grazie in anticipo.
NON penso che sia necessario inserire l'interfaccia in un pacchetto. Quando le attività che avviano la seconda attività hanno i dati, è necessario inviare i dati e NON l'interfaccia. L'interfaccia è un mezzo per consentire all'utente di dire che la classe sarà conforme a una determinata specifica quando implementa l'interfaccia. –
Penso che sia necessario ripensare all'architettura dell'applicazione perché vedo che c'è un problema serio. Ad ogni modo, se hai bisogno di passare le informazioni in un pacchetto verso un'altra attività, puoi metterle facilmente prima di iniziare l'attività. Dal costruttore dell'attività lanciata verifica se il pacchetto esiste e quindi definisci le azioni di conseguenza. C'è un altro modo per archiviare i dati e recuperare le attività. Dichiarare una variabile statica pubblica e quindi memorizzare i dati che verranno trasportati durante il ciclo di vita dell'applicazione. Spero possa aiutare. –