Wie können Sie es so einrichten, dass Benutzer mehrere Schaltflächen mit Klick-Listenern haben können? Ich probierte es mit 2 Tasten, aber es hieß, dass ich den On-Click-Listener bereits definiert hatte, so dass ich keinen weiteren Click-Listener erzeugen konnte. Der Code, den ich bisher habe, ist:Hinzufügen mehrerer Klick-Listener für mehrere Schaltflächen
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.view.View;
import android.widget.LinearLayout;
public class MainActivity extends AppCompatActivity {
private View btnRender;
private LinearLayout container;
private View btnRendered;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnRender = (View)findViewById(R.id.btn_render);
container = (LinearLayout)findViewById(R.id.fragment_layout);
btnRendered = (View) findViewById(R.id.btn_rendered);
//set event handling for button
btnRender.setOnClickListener(onClickListener());
}
private View.OnClickListener onClickListener() {
return new View.OnClickListener() {
@Override
public void onClick(View v) {
//replace fragment when clicked
FragmentManager fm = getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.fragment_layout, new PDFRenderFragment());
ft.commit();
//gone button after all
btnRender.setVisibility(View.GONE);
container.setVisibility(View.VISIBLE);
}
};
}
}
Die btn_rendered
ist die andere Taste, die ich für einen auf Klick Zuhörer einstellen möchten, aber die Software lässt mich das nicht. Stimmt es, dass ich eine Switch-Case-Methode einrichten muss, damit es funktioniert?
Ich habe gerade beide Codes ausprobiert und keiner von ihnen scheint den gewünschten Effekt zu haben. Wenn ich nun auf einen der Buttons klicke, wird immer das 2. pdf angezeigt! (Was ich die Taste für verwendet wurde)
Fügen Sie den Code für diese Schaltfläche hinzu. Und zeigen Sie den Kompilierungsfehler an. – greenapps
Das klingt seltsam. Können Sie den Code posten, den Sie versucht haben, den zweiten Listener auf der anderen Schaltfläche hinzuzufügen? – user6547359
'btnRender.setVisibility (View.GONE);'. Wollen Sie diese Schaltfläche also ausblenden, wenn Sie die andere Taste drücken? – greenapps