Gå til innhold

Få metode fra en annen klasse


Anbefalte innlegg

Hei, jeg prøver å lære med java. Appen har to sider Match og MatchResult. Når jeg trykker på en knapp i Match får man 1 poeng. De som teller poengene er i counter klassen. Men jeg har lyst å "displaye" resultatet i TextView som jeg har lagd i MatchResult hvordan gjør jeg det?

 

 

Match:

public class Match extends Activity implements OnClickListener{
	
	TextView awayGoals, homeGoals;
	Button homebtn, awaybtn, gotoresult;
	int homecount, awaycount;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.match);
		
		baconAndEggs();
		counter();
		
		homebtn.setOnClickListener(this);
		awaybtn.setOnClickListener(this);
		gotoresult.setOnClickListener(this);
	}
	
	public  void counter () {
		// TODO Auto-generated method stub
		awaycount = 1;
		homecount = 0;
	}
	
	private void baconAndEggs() {
		awayGoals = (TextView) findViewById(R.id.Away);
		homeGoals = (TextView) findViewById(R.id.Home);
		homebtn = (Button) findViewById(R.id.homeBtn);
		awaybtn = (Button) findViewById(R.id.awayBtn);
		gotoresult = (Button) findViewById(R.id.matchResult);
	}


	@Override
	public void onClick(View v) {
		// TODO Auto-generated method stub
		switch (v.getId()) {
		case R.id.homeBtn:
			homecount ++;
			homeGoals.setText("Lakers: " + homecount);
			break;
		case R.id.awayBtn:
			awaycount ++;
			awayGoals.setText("Heat: " + awaycount);
			break;
		case R.id.matchResult:
			Intent result = new Intent(this, MatchResult.class);
			startActivity(result);
			break;
		}
	}
}

MatchResult:

public class MatchResult extends Activity {
	
	TextView home, away;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.match_result);
		
		Match getresult = new Match();
		
		
		
		home.setText("" + getresult.counter());
		
		resultcounter();
	}
	
	public void resultcounter(){
		home = (TextView) findViewById(R.id.homeresult);
		away = (TextView) findViewById(R.id.awayresult);
	}
}

Lenke til kommentar
Videoannonse
Annonse

Match getresult = new Match(this);

 

Lag en constructor i Match: public Match(MatchResult master){ }

Her lagrer du master.

 

Lag en metode i MatchResult: public showResult();

 

Nå kan du kalle denne metoden fra Match: master.showResult();

 

Antagelig pedagogisk dårlig forklart, men det er essensen av hva du trenger.

Lenke til kommentar

Kanskje verdt å legge til at du ikke lærer Java av å jobbe med Android SDK. Dette er bare et lite subset med noen Java API implementert, men det har aldeles ikke tyngden, innholdet og funksjonaliteten du finner i et Oracle JDK 1.8.

 

Skal du lære Java, bør du jobbe med Java. Ikke en "second grade" implementasjon av en håndfull API.

Lenke til kommentar

 

Java er noe du lærer deg når du må lære det. Inntil da, ligg unna!

Utdyp? Selv jobber jeg med c# på daglig basis, men ser ikke problemet med å lære seg Java?

 

 

Drit i ham.

 

Høres ut som en typisk kommentar i fra en som nettopp har lært seg PHP, tror BankID er det samme som Java og bruker mye av tiden sin på å fremstå som en med peiling.

 

For oss som tjener penger på å programmere er det ett fett om det er Java eller C#. Begge er moderne og gode språk.

  • Liker 1
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...