merchenary Δημοσ. 2 Απριλίου 2020 Δημοσ. 2 Απριλίου 2020 Προσπαθώ να επιστρέψω ένα string με ονομα collector στην populate1 αλλά με collector=populate1() δεν δουλευει... Κάποια λύση; public class Base extends AppCompatActivity { public String collector public void populate1( final String title, final View layoutDialog, final EditText hour, final EditText location, final EditText first_name, final EditText last_name, final Spinner nationality) { // other codehere } public void receive2 () { // collect user data as string : collector } }
Moderators Kercyn Δημοσ. 2 Απριλίου 2020 Moderators Δημοσ. 2 Απριλίου 2020 Θέλεις να εξηγήσεις λίγο τι θέλεις να κάνεις;
Lanike71 Δημοσ. 2 Απριλίου 2020 Δημοσ. 2 Απριλίου 2020 Δεν ξέρω πώς θα το προσαρμόσεις στην populate1, δικό σου θέμα, πάντως η populate1 δεν πρέπει να είναι void, αλλά string και στο τέλος της να επιστρέφει ένα string, άρα return stringToReturn. Αν θες δίνεις και παραπάνω πληροφορίες.
Ponous Δημοσ. 2 Απριλίου 2020 Δημοσ. 2 Απριλίου 2020 Καμιά συνάρτηση void δεν επιστρέφει τιμή. Αν θες να πεις collector = pupulate1(values here...) τότε πρέπει να αλλάξεις την populate1 από void σε String. Γενικά οι λύσεις που μπορείς να δώσεις είναι οι εξής: Μετατροπή συνάρτησης από void σε String(η καλύτερη λύση) Να αλλάζεις την καθολική σου μεταβλητή collector στην συνάρτηση pupulate1 Να δημιουργήσεις ένα object/class με ένα πεδίο του να είναι String. Αν η συνάρτηση δέχεται αντικείμενα, οι αλλαγές στα πεδία τους δεν γίνονται τοπικά αλλά στο πραγματικό αντικείμενο. (Στο πρόβλημα σου δεν μου φαίνεται να θες να το κάνεις αυτό) Βασικά η καλύτερη λύση είναι η εξής: private String getSomeString(some values here){ // Initialize return string String toReturn = ""; // Some modifications here... // Return value return toReturn; } public void somewhereElse(){ collector = getSomeString(some values here); } Τώρα αν για κάποιο λόγο δεν μπορείς να το κάνεις αυτό και προτιμάς να αλλάξεις την global variable collector τότε απλά πες public void populate1(some values here){ // All code modifications should come to this end collector = someNewGeneratedString; } Αν δεν βοηθάει αυτό δώσε περισσότερες πληροφορίες να καταλάβουμε κι εμείς τι παίζει.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα