可能なすべての回答を確認した後、自分のコードに間違いがないかどうかはわかりません。Android Studio - フラグメントonClickListenerが機能しない
3つのフラグメントにOnClickListenerが必要です。そのうちの1つはmainActivityによって読み込まれます。彼らの誰も働いていません。私は各フラグメントにOnClickListenerを実装しました。
ここに私のコードです:
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) {
Request1Buttonを押すとWebviewを開く必要があります。
ありがとうございました!
ようこそスタックオーバーフロー。お手伝いをするために、さらに情報が必要です。このアプリには正確に何をしたいですか?今何してるの?また、あなたの質問に直接焦点を当てるようにコードを減らすと、助けになります。実験用に新しいAndroid Studioプロジェクトを作成することができます。このプロトタイプアプリを単一のリスナーと連携させる。そこから作業してください。 –
p.s.また、Javaではすべてのコードがクラスに含まれている必要があります。これらのクラス宣言を含めると、特にAndroid開発でコードのコンテキストをよりよく理解できます。 –