Nach Überprüfung jeder möglichen Antwort kann ich nicht finden, was mit meinem Code falsch ist.Android Studio - Fragment onClickListener funktioniert nicht
Ich brauche einen OnClickListener für 3 Fragmente, von denen einer von mainActivity geladen wird. Keiner von ihnen arbeitet. Ich habe den OnClickListener für jedes Fragment implementiert.
Hier ist mein Code:
RequestFragment1.java
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
view = inflater.inflate(R.layout.fragment_request1, container, false);
Button buttonRequest1 = (Button) view.findViewById(R.id.Request1Button);
buttonRequest1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
String url = "https://www.google.ca/";
WebView httpRequestResult = (WebView) getActivity().findViewById(R.id.webViewResult);
httpRequestResult.getSettings().setJavaScriptEnabled(false);
httpRequestResult.loadUrl(url);
getActivity().setContentView(R.layout.requests_webview);
}
});
return view;
}
fragment_request1.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relativeLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<Button
android:id="@+id/Request1Button"
android:layout_width="match_parent"
android:layout_height="90dp"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:text="Requête 1" />
</RelativeLayout>
MainActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_request1);
View currentView = findViewById(android.R.id.content);
//Implementation du TouchListener
currentView.setOnTouchListener(new SwipeListener(MainActivity.this) {
Es muss eine Webansicht durch Drücken von Request1Button öffnen.
Vielen Dank für Ihre Zeit!
Willkommen bei Stack Overflow. Um Ihnen zu helfen, brauchen wir weitere Informationen. Was genau soll diese App machen? Was macht es jetzt? Außerdem würde es hilfreich sein, wenn Sie den Code reduzieren, um sich direkt auf Ihre Frage zu konzentrieren. Sie können ein neues Android Studio-Projekt zum Experimentieren erstellen. Holen Sie sich diese Prototyp-App, um mit einem einzelnen Listener zu arbeiten. Dann arbeite von dort. –
p.s. Denken Sie auch daran, dass Java den gesamten Code in Klassen benötigt. Das Einbeziehen dieser Klassendeklarationen gibt uns eine bessere Vorstellung vom Kontext Ihres Codes, insbesondere in der Android-Entwicklung. –