【发布时间】:2015-04-14 17:32:43
【问题描述】:
我设置了带有两个Fragments 的滑动标签,每个Fragment 有一个Button,它转到WebView。问题在于,当单击 WebView Button 时,滑动选项卡仍处于激活状态,而当用户尝试在 WebView 内导航时,您最终会滑动到另一个选项卡。有没有办法在点击方法中禁用标签的滑动功能?任何帮助将不胜感激!
代码如下:
public class MyWebViewClass extends Fragment {
private WebView mWebView;
private Button mButton;
public MyWebViewClass() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_webview, container, false);
mWebView = (WebView) view.findViewById(R.id.WebView);
mButton = (Button) view.findViewById(R.id.Button1);
mButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mWebView.setVisibility(View.VISIBLE);
mButton.setVisibility(View.GONE);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.loadUrl("www.google.com");
}
});
return view;
}
【问题讨论】:
-
我很确定在您使用的任何库中都有这样的功能,但问题是如何或何时再次启用它...
-
@Selvin 是的,我以为我自己正在使用 neokree 的 MaterialTabs,但我找不到任何方法来禁用滑动标签。这是链接github.com/neokree/MaterialTabs
-
好的,而是使用 MaterialTab 创建自己的类,该类扩展此类并覆盖 onTouch(...) 像这样
bool onTouch(params) {if(someFlagThatMeansThatSlidingIsDissable) { return false; } return super.onTouch(params)}为这个标志添加一些 getter 和 setter ...然后使用 setter 来禁用/启用滑动....听起来很容易(但我当然不会为您编写代码 - 好吧,因为它几乎写在此评论中)...编辑:正如我之前写的,问题是何时再次启用它?
标签: android android-fragments android-tabs