Я хочу скроллер в моей деятельности, содержащий фрагмент с 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;
  }
}

0 ответов

Другие вопросы по тегам