Я хочу скроллер в моей деятельности, содержащий фрагмент с GridView внутри
Я хочу, чтобы в моей деятельности был скроллер, который содержит Fragment, и у этого фрагмента есть GridView, который использует CustomAdapter, теперь сама grid предоставляет скроллер, но я хочу, чтобы основная операция, которая вызывает эту сетку из фрагмента, имела скроллер, но каждый Когда я пытаюсь добавить прокрутку к этому действию, высота сетки уменьшается.
Я также попытался добавить скроллер к файлу фрагмента, но он не работает, и все представления застряли в одном месте.
Вот мой код MainActivity.xml:-
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#000000"
android:paddingTop="10dp">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<RelativeLayout
android:id="@+id/tread_fragment"
android:layout_width="match_parent"
android:layout_height="match_parent">
<fragment
android:id="@+id/tread_details_fragment"
class="com.example.sample_cr411.Trailer_Fragment"
android:layout_width="0dp"
android:layout_height="match_parent">
</fragment>
</RelativeLayout>
</RelativeLayout>
</ScrollView>
И я называю этот фрагмент в MainActivity.java:-
Vehicle_Fragment fragment1 = new Vehicle_Fragment();
getSupportFragmentManager().beginTransaction().add(R.id.relative_tread_fragment, fragment1).commit();
И файл Fragment vehicle_details.xml: -
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#000000"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<GridView
android:id="@+id/grid1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:columnCount="6"
android:rowCount="2">
</GridView>
</LinearLayout>
И файл программы Fragment Vehicle_Fragment.java: -
public class Vehicle_Fragment extends Fragment {
private GridView gridView;
private EditText axel_count;
String axel_count_no;
static final String[] Axel = new String[] { "axel1", axel2","axel3","axel4","axel5","axel6"};
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.vehicle_details, container,false);
axel_count = (EditText)view.findViewById(R.id.input_axels);
axel_count_no = axel_count.getText().toString();
gridView = (GridView) view.findViewById(R.id.grid1);
gridView.setAdapter(new CustomAdapter(getActivity(), Axel));
return view;
}
Теперь, наконец, griditems.xml, который раздувается в моем CustomAdapter:-
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<RelativeLayout
android:id="@+id/...
<EditText
android:id="@+id/...
<TextView
android:id="@+id/...
<Button
android:id="@+id/...
</RelativeLayout>
</LinearLayout>
А Custom Adapter.java - это:
public class CustomAdapter extends BaseAdapter {
public CustomAdapter(Context context, String[] gridaxelrows) {
this.context = context;
this.gridaxelrows = gridaxelrows;
}
@Override
public int getCount() {
return gridaxelrows.length;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater)
context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View gridView;
if (convertView == null) {
gridView = new View(context);
gridView = inflater.inflate(R.layout.griditems, null);
tread_size = (EditText) gridView.findViewById(R.id.tread_size);
tirebutton = (Button) gridView.findViewById(R.id.check_button);
} else {
gridView = (View) convertView;
}
return gridView;
}
}