Hallo zusammen,
ich bin absolut neu in der Android-Entwicklung; auch in Java, jedoch nicht in der Softwareentwicklung an sich.
Das Thema OnClickListener wird es sicherlich schon geben, aber ich finde halt leider genau meinen Fehler nicht.
Problem:
Ich möchte auf ein Click-Event auf einen Rating-Bar reagieren, es findet allerdings keine Reaktion statt.
Ich habe verschiedenes Versucht, von Angabe des Events in der activity_Main.XML-Datei über einfaches einbetten einer "OnClick"-Methode bis hin zum Einsetzen eines OnClickListeners, nichts führt zu einer Reaktion.
Mein erster Versuch (code siehe weiter unten) funktionierte, ich finde den Unterschied einfach nicht.
Kann mir jemand erklären, was ich falsch mache und wieso der eine Code geht und der andere nicht? Kann man mir auch ein (optimalerweise funktionierendes^^) Beispiel geben, wie das ganze mit OnClickListener gemacht wird, den hab ich in der Version unten ja nicht drin.
Vielen Dank schonmal für's lesen.
Beste Grüße
Franky
Dieser Code geht nicht.
package com.example.myapp;
import com.example.myapp.R;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.*;
//import android.view.View.OnClickListener;
import android.widget.TextView;
import android.widget.RatingBar;
public class MainActivity extends Activity{
public void onClick(View view) {
// do something when the button is clicked
TextView TXTFeld = (TextView) findViewById(R.id.textView1);
RatingBar rbar= (RatingBar) findViewById(R.id.ratingBar1);
String s="Du gibst der App "+String.valueOf(rbar.getNumStars())+" Sterne";
TXTFeld.setText(s);
return;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
RatingBar rBar=(RatingBar)findViewById(R.id.ratingBar1);
TextView TXTFeld = (TextView) findViewById(R.id.textView1);
//RatingBar rbar= (RatingBar) findViewById(R.id.ratingBar1);
//Sensor MeinSinn;
//MeinSinn=getSensorList
String s="Du gibst der App ";//+String.valueOf(rbar.getNumStars())+" Sterne";
TXTFeld.setText(s);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
Alles anzeigen
Dieser Code geht.
package com.example.test;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.TextView;
import android.widget.Toast;
import android.hardware.Camera;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
public void onClick(View view) {
switch (view.getId()) {
case R.id.progressBar1:
TextView TXTFeld = (TextView) findViewById(R.id.textView1);
//Sensor MeinSinn;
//MeinSinn=getSensorList
String s="";//MeinSinn.getName().toString();
s += "Beer ";
TXTFeld.setText(s);
return;
}
}
}
Alles anzeigen