片段未显示

时间:2017-09-02 19:51:35

标签: android android-fragments

我点击卡片视图时点击卡片视图,片段显示在活动上我假设但片段未显示,卡片的onclick正在工作但片段未显示我尝试了很多但没有解决方案我不知道为什么会这样。也没有错误,但我的片段没有显示甚至没有错误提前 这里的代码



Activity

public class SubmitAddActivity extends AppCompatActivity implements CallbackFromFragment {
  


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.submitadd_layout);
        
        findViewById(R.id.choose_category_layout).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Log.d("bullhead", "onClick: hellow rodl ");
                fragmentTransaction=getSupportFragmentManager().beginTransaction();
                fragmentTransaction.replace(R.id.container,fragmentUsage);
                fragmentTransaction.commit();
                fragmentUsage.setTYPE(1);
            }
        });
        
                   submitbutton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

            }
        });
        settingToolbar();

    }

   



    @Override
    public void setValues(int type, String value) {
    if(type==1)
    {
        fragmentTransaction.remove(fragmentUsage);
        category=value;
    }
    else if(type==2)
    {
        fragmentTransaction.remove(fragmentUsage);
        location=value;
    }

    }


}




活动布局



<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">
    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/containerfragments"
        android:fitsSystemWindows="true"
        android:orientation="vertical"
        tools:context="com.asad.taleembazar.activities.HomeActivity">

        
        <include
            layout="@layout/cardview_choose_category_submitadds"
            android:layout_height="wrap_content"
            android:layout_width="match_parent"
            />
       

    </LinearLayout>
        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/container"

            />
    </FrameLayout>

</ScrollView>
&#13;
&#13;
&#13;

片段

&#13;
&#13;
public class SelectFragment extends Fragment implements com.asad.taleembazar.adpaters.callback {
    private SelectCategorySubmitAddAdapter adapter;
    private RecyclerView.LayoutManager layoutManager;
    private ArrayList<String> arrayList=new ArrayList<>();
    CallbackFromFragment communication;
    int type;

    // TODO: Rename and change types of parameters
    private String mParam1;
    private String mParam2;



    public SelectFragment() {
        // Required empty public constructor
    }


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.activity_select_category_submit,container,false);
        arrayList.add("Cars");
        arrayList.add("Mobiles");
        arrayList.add("Bags");
        RecyclerView recyclerViewforsubmitadd = (RecyclerView)view.findViewById(R.id.recyclerview_for_categoriessubmit);
        layoutManager = new LinearLayoutManager(getActivity());
        recyclerViewforsubmitadd.setLayoutManager(layoutManager);
        recyclerViewforsubmitadd.setHasFixedSize(true);
        adapter = new SelectCategorySubmitAddAdapter(arrayList);
        adapter.setOnClick(this);
        recyclerViewforsubmitadd.setAdapter(adapter);
        return view;
    }



    @Override
    public void onAttach(Context context) {
        super.onAttach(context);
        communication = (CallbackFromFragment) context;

    }
    @Override
    public void onClick(int adapterPosition) {
        if(type==1)
        communication.setValues(1,arrayList.get(adapterPosition));
        else if(type==2)
            communication.setValues(1,arrayList.get(adapterPosition));

    }
public void setTYPE(int i)
{
    type=i;
}
}
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

容器match_parent

Framelayout无法在您的ScrollView内工作。您可以在android:fillViewport="true"中设置ScrollView,也可以为容器设置固定的高度。

尝试以下代码

  <?xml version="1.0" encoding="utf-8"?>
<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"
    android:fillViewport="true">
    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:tools="http://schemas.android.com/tools"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            xmlns:app="http://schemas.android.com/apk/res-auto"
            android:id="@+id/containerfragments"
            android:fitsSystemWindows="true"
            android:orientation="vertical"
            tools:context="com.asad.taleembazar.activities.HomeActivity">


              <include
                  layout="@layout/cardview_choose_category_submitadds"
                  android:layout_height="wrap_content"
                  android:layout_width="match_parent"
                  />


        </LinearLayout>
        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/container"

            />
    </FrameLayout>

</ScrollView>