android ScrollView无法在片段中工作

问题描述

我正在做一个项目,该项目用碎片包裹导航抽屉, 在我的主页片段页面上,我添加了此布局。要将额外的数据添加到viewpager,Linear Layout和Gridview中,请使用Java代码。 我的问题是,Scrollview无法在我的home_fragment中工作。(仅GridiView滚动的不是完整的片段活动)。 我曾尝试使用嵌套的scrollview,但它也无法正常工作。 我提供了如下的xml和java代码

fragment_home.xml

<ScrollView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:scrollbarSize="0dp"
    android:fillViewport="true"
    >

<RelativeLayout
        android:id="@+id/HomeFragmentRelativeLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        >

        <androidx.viewpager.widget.ViewPager
            android:id="@+id/viewPage"
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:layout_margin="5dp"
            />
        <LinearLayout
            android:id="@+id/SliderDots"
            android:layout_below="@+id/viewPage"
            android:orientation="horizontal"
            android:gravity="center_vertical|center_horizontal"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="5dp"/>

        <GridView
            android:id="@+id/simpleGridView"
            android:layout_below="@+id/SliderDots"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="15dp"
            android:gravity="center"
            android:numColumns="2"
            android:layout_margin="5dp"
            android:verticalSpacing="15dp"
            android:horizontalSpacing="15dp"
            />
    </RelativeLayout>
</ScrollView>

HomeFragment.java

public class HomeFragment extends Fragment {
    LinearLayout sliderDotspanel;
    private int dotscount;
    private ImageView[] dots;
    GridView simpleList;

    ArrayList<Item> birdList=new ArrayList<Item>();

    @SuppressLint("ClickableViewAccessibility")
    public View onCreateView(@NonNull LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState) {
        View root = inflater.inflate(R.layout.fragment_home,container,false);

        ViewPager mViewPager = root.findViewById(R.id.viewPage);
        sliderDotspanel = root.findViewById(R.id.SliderDots);
        ImageAdapter adapterView = new ImageAdapter(getContext());
        mViewPager.setAdapter(adapterView);

        dotscount = adapterView.getCount();
        dots = new ImageView[dotscount];
        for(int i = 0; i < dotscount; i++){
            dots[i] = new ImageView(getContext());
            dots[i].setimageDrawable(ContextCompat.getDrawable(getContext(),R.drawable.active_dot_white));
            LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT);
            params.setMargins(8,8,0);
            sliderDotspanel.addView(dots[i],params);
        }
        dots[0].setimageDrawable(ContextCompat.getDrawable(getContext(),R.drawable.active_dot_black));

        mViewPager.addOnPagechangelistener(new ViewPager.OnPagechangelistener() {
            @Override
            public void onPageScrolled(int position,float positionOffset,int positionOffsetPixels) {

            }

            @Override
            public void onPageSelected(int position) {

                for(int i = 0; i< dotscount; i++){
                    dots[i].setimageDrawable(ContextCompat.getDrawable(getContext(),R.drawable.active_dot_white));
                }

                dots[position].setimageDrawable(ContextCompat.getDrawable(getContext(),R.drawable.active_dot_black));

            }

            @Override
            public void onPageScrollStateChanged(int state) {

            }
        });


        simpleList = root.findViewById(R.id.simpleGridView);
        birdList.add(new Item("Amazone",R.drawable.rsz_amazon));
        birdList.add(new Item("Flipcart",R.drawable.rsz_flipkart));
        birdList.add(new Item("Myntra",R.drawable.rsz_myntra));
        birdList.add(new Item("Beauty",R.drawable.rsz_beauty));
        birdList.add(new Item("Health",R.drawable.rsz_pngwave));
        birdList.add(new Item("Entertainment",R.drawable.rsz_media));
        birdList.add(new Item("Stories",R.drawable.rsz_stories));
        birdList.add(new Item("Poems",R.drawable.rsz_poetry));
        birdList.add(new Item("Gadgets",R.drawable.rsz_gadgets));
        birdList.add(new Item("Videos",R.drawable.rsz_you_tube_new));

        MyAdapter myAdapter=new MyAdapter(getContext(),R.layout.grid_view_items,birdList);
        simpleList.setAdapter(myAdapter);

        simpleList.setonItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent,View view,int position,long id) {
                //Toast.makeText(getContext(),Integer.toString(position) +" "+ Long.toString(id),Toast.LENGTH_SHORT).show();
                Intent intent = new Intent(getActivity(),SecondActivity.class);;
                switch (position){
                    case 0:
                        intent.putExtra("grid_position","0");
                        startActivity(intent);
                        break;
                    case 1:
                        intent.putExtra("grid_position","1");
                        startActivity(intent);
                        break;
                    case 2:
                        intent.putExtra("grid_position","2");
                        startActivity(intent);
                        break;
                    case 3:
                        intent.putExtra("grid_position","3");
                        startActivity(intent);
                        break;
                    case 4:
                        intent.putExtra("grid_position","4");
                        startActivity(intent);
                        break;
                    case 5:
                        intent.putExtra("grid_position","5");
                        startActivity(intent);
                        break;
                    case 6:
                        intent.putExtra("grid_position","6");
                        startActivity(intent);
                        break;
                    case 7:
                        intent.putExtra("grid_position","7");
                        startActivity(intent);
                        break;
                    case 8:
                        intent.putExtra("grid_position","8");
                        startActivity(intent);
                        break;
                    case 9:
                        intent.putExtra("grid_position","9");
                        startActivity(intent);
                        break;
                    default:
                        break;
                }
            }
        });

        return root;
    }
}

如果您想查看我的完整代码,请听我的完整代码链接- https://drive.google.com/drive/folders/13seTtZaSdNbUKCYrUFL3sVu5eEWA5WiZ?usp=sharing

谢谢。

解决方法

您不能直接应用滚动视图,我希望这会起作用

$(search_result).each(function(index,result) {   // Not working this  console.log(result.username); }); 

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...