在查看每个可能的答案后,我找不到我的代码有什么问题。
我需要在3个片段上有一个OnClickListener,其中一个片段由mainActivity加载。他们都没有工作。我已经在每个片段上实现了OnClickListener。
这是我的代码:
RequestFragment1.java
<div id="bill">
<h2>Bill</h2>
<ul id="items"></ul>
<ul id="price"></ul>
</div>
fragment_request1.xml
@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;
}
MainActivity.java
<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>
需要按下Request1Button打开webview。
感谢您的时间!
答案 0 :(得分:1)
setContentView(R.layout.fragment_request1);
MainActivity.onCreate()
中的这一行夸大了名为fragment_request1
的XML文件中定义的布局。但是,不创建片段。因此,永远不会调用RequestFragment1.onCreateView()
,并且永远不会设置OnClickListener
。
您需要正确创建片段并使用FragmentManager
加载它。有许多在线教程展示了如何执行此操作。我建议从Android开发者网站上的那个开始。