Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Προσπαθώ να επιστρέψω ένα 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

}

}

 

Δημοσ.

Δεν ξέρω πώς θα το προσαρμόσεις στην populate1, δικό σου θέμα, πάντως η populate1 δεν πρέπει να είναι void, αλλά string και στο τέλος της να επιστρέφει ένα string, άρα return stringToReturn.

Αν θες δίνεις και παραπάνω πληροφορίες.

Δημοσ.

Καμιά συνάρτηση void δεν επιστρέφει τιμή. Αν θες να πεις collector = pupulate1(values here...) τότε πρέπει να αλλάξεις την populate1 από void σε String.

Γενικά οι λύσεις που μπορείς να δώσεις είναι οι εξής:

  1. Μετατροπή συνάρτησης από void σε String(η καλύτερη λύση)
  2. Να αλλάζεις την καθολική σου μεταβλητή collector στην συνάρτηση pupulate1
  3. Να δημιουργήσεις ένα 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;
}

 

Αν δεν βοηθάει αυτό δώσε περισσότερες πληροφορίες να καταλάβουμε κι εμείς τι παίζει.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...