相关疑难解决方法(0)

如何在没有viewPager的情况下创建TabLayout?

我创建了一个带有tabpane(Background,TextStyle,font)的工具栏.但是我在网上跟着serval教程,所有的都有viewPager/slider我不想要它.那么如何在不实现viewPager的情况下创建它呢?

到目前为止,我知道它与此有关:

@Override
public void onTabSelected(TabLayout.Tab tab) {

}
Run Code Online (Sandbox Code Playgroud)

android

6
推荐指数
2
解决办法
1万
查看次数

使用 TabLayout 时如何禁用选择某些选项卡?

我使用控件 android.support.design.widget.TabLayout

我有 4 个选项卡 - 在每个选项卡上我显示一些 ViewPager -(使用片段来显示不同的 viewPager)

我想禁用所有选项卡,直到用户添加一些存在于第一个选项卡上的数据。

我没有找到禁用选项卡的任何方法。

编码:

 <android.support.design.widget.TabLayout
        android:id="@+id/tabs"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="?android:attr/detailsElementBackground"
        android:clickable="true"
        app:tabGravity="center"
        app:tabMode="scrollable"
        app:tabTextAppearance="@style/MineCustomTabText" />

    <android.support.v4.view.ViewPager
        android:id="@+id/viewpager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior" />

</android.support.design.widget.AppBarLayout>


 ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());


    adapter.addFragment(new Fragment1(), "Fragment1");
    adapter.addFragment(new Fragment2(), "Fragment2");
    adapter.addFragment(new Fragment3(), "Fragment3");
    adapter.addFragment(new Fragment4(), "Fragment4");
Run Code Online (Sandbox Code Playgroud)

// 需要禁用 Fragment2 & Fragment3 & Fragment4 直到用户添加一些存在于 Fragment1 的字符串

android android-fragments

5
推荐指数
1
解决办法
8249
查看次数

android:如何禁用viewpager上的滚动

在我的Android应用程序中,我有一个viewpager,它有一个imageView列表.可以绘制每个视图.当我绘制它时,我仍然可以从viewpager滑动到下一个视图.如何在用户开始绘制imageView时禁用分页.

android swipe imageview android-viewpager

4
推荐指数
1
解决办法
4768
查看次数

ViewPager 中的水平 RecyclerView 不滚动

我在复杂的层次结构中有一个水平 RecyclerView,看起来像这样 -

<ViewPager id="+@id/first">
    <ViewPager id="+@id/second"> this viewpager is taking away the scroll event
        <SwipeToRefreshLayout>
            <RecyclerView> //this one is vertical
                <RecyclerView id="@id/rv1"> //this one is horizontal
                <RecyclerView id="@id/rv2"> //this one is working fine (different type)
            </RecyclerView>
        </SwipeToRefreshLayout>
    </ViewPager>
</ViewPager>
Run Code Online (Sandbox Code Playgroud)

现在的问题是第二个 ViewPager 正在劫持 Horizo​​ntal RV 的滚动条。该垂直 RV 中有 2 种类型的水平 RV(RV1 和 RV2)。但只有其中一个(RV1)面临这个问题。第二个 (RV2) 工作正常。此外,当我按住然后滚动工作正常。当 RV1 已经在滚动并且尚未稳定时,滚动也可以正常工作。我已经提到了其他关于设置 NestedScrolling false 的答案。似乎没有任何工作。

android android-viewpager android-recyclerview android-nestedscrollview

4
推荐指数
3
解决办法
1610
查看次数

触摸/拖动特定视图时禁用 viewpager

使用类似于此问题的答案的内容,我尝试在用户在特定项目上滑动时禁用 ViewPager 滑动操作。有问题的视图是来自MPAndroidChart库的可滚动图表,所以自然我不希望视图分页器干扰图表的滚动。

我遇到的问题是,在我想要的视图上调用 onTouchListener 之前,ViewPager 通常会调用“onInterceptTouch”。

在这段代码中,我在按下/未按下视图时进行录制:

private long lastDown;

private long lastUp;

...

public void foo(){

    barChart.setOnTouchListener(new View.OnTouchListener() {
      @Override
      public boolean onTouch(View v, MotionEvent event) {

        System.out.println("AAA");

        if(event.getAction() == MotionEvent.ACTION_DOWN){
          lastDown = System.currentTimeMillis();
        }else if(event.getAction() == MotionEvent.ACTION_UP){
          lastUp = System.currentTimeMillis();
        }

    return false;
      }
    });
}
Run Code Online (Sandbox Code Playgroud)

在这段代码中,我确定是否选择了视图:

  public boolean isGraphTouched(){
    return lastDown > lastUp;
  }
Run Code Online (Sandbox Code Playgroud)

在这一段代码中,我覆盖了 onInterceptTouchEvent 方法:

  @Override
  public boolean onInterceptTouchEvent(MotionEvent ev) {
    System.out.println("BBB");
    return isGraphSelected() ? super.onInterceptTouchEvent(ev) : false;
  }
Run Code Online (Sandbox Code Playgroud)

如果您注意打印行,则 …

android android-fragments android-viewpager mpandroidchart

2
推荐指数
1
解决办法
1827
查看次数

通过使用fakedrag锁定viewpager

我正在尝试使Viewpager具有可编辑的文本,但是我不希望Viewpager在编辑文本框时滚动。我试图通过使用viewpager的beginFakeDrag和endFakeDrag函数禁用滚动,这会导致viewpager忽略所有触摸事件。出于某种原因,如果先调用beginFakeDrag之后再调用endFakeDrap,它将运行良好,但是当分离时,它将引发以下错误:

03-08 17:54:00.511: E/AndroidRuntime(31362): FATAL EXCEPTION: main
03-08 17:54:00.511: E/AndroidRuntime(31362): java.lang.NullPointerException
03-08 17:54:00.511: E/AndroidRuntime(31362):    at android.support.v4.view.ViewPager.endFakeDrag(ViewPager.java:1683)
03-08 17:54:00.511: E/AndroidRuntime(31362):    at gtg.gis.RequestActivity$2.onFocusChange(RequestActivity.java:115)
03-08 17:54:00.511: E/AndroidRuntime(31362):    at android.view.View.onFocusChanged(View.java:2742)
03-08 17:54:00.511: E/AndroidRuntime(31362):    at android.widget.TextView.onFocusChanged(TextView.java:7080)
03-08 17:54:00.511: E/AndroidRuntime(31362):    at android.view.View.clearFocus(View.java:2639)
03-08 17:54:00.511: E/AndroidRuntime(31362):    at android.view.ViewGroup.clearFocus(ViewGroup.java:522)
03-08 17:54:00.511: E/AndroidRuntime(31362):    at android.view.View.setFlags(View.java:4645)
03-08 17:54:00.511: E/AndroidRuntime(31362):    at android.view.View.setVisibility(View.java:3116)
03-08 17:54:00.511: E/AndroidRuntime(31362):    at gtg.gis.RequestActivity$1.onClick(RequestActivity.java:95)
03-08 17:54:00.511: E/AndroidRuntime(31362):    at android.view.View.performClick(View.java:2485)
03-08 17:54:00.511: E/AndroidRuntime(31362):    at android.view.View$PerformClick.run(View.java:9089)
03-08 17:54:00.511: E/AndroidRuntime(31362):    at android.os.Handler.handleCallback(Handler.java:587)
03-08 17:54:00.511: E/AndroidRuntime(31362):    at android.os.Handler.dispatchMessage(Handler.java:92)
03-08 17:54:00.511: E/AndroidRuntime(31362):    at …
Run Code Online (Sandbox Code Playgroud)

android android-viewpager

1
推荐指数
1
解决办法
5801
查看次数

如何使用按钮单击滑动片段

我有两个片段和一个MainActivity类.一切正常,但我想用onClick按钮滑动片段.例如,如果我单击片段A上的按钮,它将滑动到片段B.我在哪里需要添加代码?在MainActivity或Fragments中?

A:

package com.example.mytesttabandsweeper;



import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;



public class Fragment_A extends Fragment implements OnClickListener {
    TextView wynik;
    Button przycisk;
    EditText procent,cena;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        View v =  inflater.inflate(R.layout.fragment_a,  container, false);

        return v;
    }

}
Run Code Online (Sandbox Code Playgroud)

B:

package com.example.mytesttabandsweeper;

import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle; …
Run Code Online (Sandbox Code Playgroud)

java android swipe android-fragments android-viewpager

1
推荐指数
1
解决办法
3904
查看次数

在Kotlin中禁用Viewpager的View Pager滑动

我是Kotlin的新手,片段中有View Pager,并且已在其中设置了pager适配器。一切工作正常,但是当我尝试停止在Kotlin中查看寻呼机的页面滑动并且在Kotlin中找不到任何方法时。我试图在堆栈上找到解决方案,但是没有运气。尽管Java中有很多,但Kotlin却没有。

我已经使用Java作为

viewPager.setPagingEnabled(false);
Run Code Online (Sandbox Code Playgroud)

但是每当我在Kotlin中尝试此操作时,我都会出错。任何帮助将不胜感激。

android android-viewpager kotlin

1
推荐指数
1
解决办法
2918
查看次数