Meine Anwendung hat zwei Schaltflächen, die verschiedene Aufgaben die erste Schaltfläche funktioniert (id: "CalcBtn"), aber die zweite Schaltfläche (ID: Web), die ich einen Browser öffnen möchte, funktioniert nicht . Wenn ich den Emulator öffne, startet der Klicker für die zweite Schaltfläche die Website nicht oder erkennt den Klick selbst nicht.Android Studio - OnClickListener nicht erkennen Klicken Sie auf
public class MainActivity extends AppCompatActivity {
EditText editText;
EditText editText2;
EditText editText3;
Button CalcBtn;
Button web;
TextView Output;
double a, b, c, d, x1, x2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = (EditText) findViewById(R.id.editText);
editText2 = (EditText) findViewById(R.id.editText2);
editText3 = (EditText) findViewById(R.id.editText3);
CalcBtn = (Button) findViewById(R.id.CalcBtn);
web = (Button) findViewById(R.id.web);
Output = (TextView) findViewById(R.id.Output);
CalcBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(!editText.getText().toString().equals("") && !editText2.getText().toString().equals("")
&& !editText3.getText().toString().equals("")) {
a = Double.parseDouble(editText.getText().toString());
b = Double.parseDouble(editText2.getText().toString());
c = Double.parseDouble(editText3.getText().toString());
d = Math.pow(b, 2) - 4*a*c;
if (d == 0) {
x1 = -b/(2*a);
Output.setText("d = " + d + "\nx = " + x1);
} else if (d < 0) {
Output.setText("No Real Roots");
} else if (d > 0) {
x1 = (-b + Math.sqrt(d))/(2*a);
x2 = (-b - Math.sqrt(d))/(2*a);
Output.setText("d = " + d + "\nx = " + x1 + "\nx2 = " + x2);
web.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent web = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.purplemath.com/modules/quadform.htm"));
startActivity(web);
}
});
}
}
}
});
}
}
Sie können nicht ausführen 'onClickListener' innerhalb eines anderen' onClickListener'. –
@vrundpurohit er kann verschachtelte onClickListener durchführen, aber es ist keine gute Praxis ... –
wenn Sie einen Teil der Web-Taste auf Ihrem CalBtn-Click-Ereignis als warum Sie ClickListener Web-Button implementieren möchten. tun Sie einfach Ihre Logik in diesem Zustand, anstatt Click-Ereignis der Web-Taste durchzuführen. –