2017-09-02 132 views
0

我设置点击卡片视图时,我点击卡片视图片段显示活动我假设,但片段不显示cardview的onclick工作,但片段不显示我尝试很多,但没有解决方案,我不知道为什么会发生这种情况。没有错误还,但我的片段没有表现得没有错误提前thanlks 这里的代码片段没有显示

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>

片段

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; 
 
} 
 
}

+0

你真的应该减少这种代码提供的最小工作示例这说明你的问题。删除所有其他 –

+0

它现在减少 –

回答

0

你的容器Framelayoutmatch_parent不会你ScrollView内工作。您可以在ScrollView中设置android:fillViewport="true"或者您可以为容器设置固定高度。

试试下面的代码

<?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>