问题描述
我正在做一个项目,该项目用碎片包裹导航抽屉, 在我的主页片段页面上,我添加了此布局。要将额外的数据添加到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); });