2016-01-12 3 views
1

У меня мало элементов выдвижного ящика в навигационном ящике. Когда щелкнут первый пункт (Motels), он переходит к активности, в которой есть список мотелей. Каждый из них завернут в cardView. Я реализовал клик для cardView, и когда он щелкнут, он должен заменить линейный макет на фрагмент. Но он не отвечает. Здесь код: Motels.java (Деятельность, которая содержит перечень мотелей):Андроидный фрагмент не работает

package com.example.sabudaniel61.ktdc; 

import android.content.Context; 
import android.support.v4.app.FragmentTransaction; 

import android.os.Bundle; 
import android.support.v4.app.FragmentManager; 
import android.support.v7.app.AppCompatActivity; 
import android.support.v7.widget.CardView; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.widget.LinearLayout; 



/** 
* Created by Jobin Sabu on 1/11/2016. 
*/ 
public class Motels extends AppCompatActivity{ 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.motels); 

     CardView cardView1=(CardView) findViewById(R.id.cardView1); 
     cardView1.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 

       FragmentManager fragmentManager = getSupportFragmentManager(); 
       FragmentTransaction transaction = fragmentManager.beginTransaction(); 
       MotelKttrk motelKttrk = new MotelKttrk(); 
       transaction.replace(R.id.linearmotel, motelKttrk); 
       transaction.commit(); 


      } 
     }); 
    } 
} 

motels.xml (Layout список мотелей холдинг): Когда один из списка щелкают он должен заменить LinearLayout с идентификатором @ + ид/linearmotel

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    > 
    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" 
     android:id="@+id/linearmotel"> 

    <TextView 
     android:layout_width="match_parent" 
     android:layout_height="70dp" 
     android:background="#1b5e20" 
     android:gravity="center" 
     android:padding="5dp" 
     android:text="KTDC MOTELS AT A GLANCE" 
     android:textColor="#ffffff" 
     android:textSize="25sp"></TextView> 

    <ScrollView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:scrollbars="vertical"> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="vertical"> 

      <android.support.v7.widget.CardView 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="5dp" 
       android:layout_marginRight="5dp" 
       android:layout_marginTop="5dp" 
       app:cardCornerRadius="8dp" 
       android:id="@+id/cardView1" 
       app:cardElevation="@dimen/cardview_default_elevation" 
       app:cardPreventCornerOverlap="false"> 

       <com.andexert.library.RippleView 
        rv_centered="true" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_margin="0dp" 
        app:rv_color="#b2dfdb"> 

        <LinearLayout 
         android:id="@+id/linear1" 
         android:layout_width="match_parent" 
         android:layout_height="30dp" 
         android:layout_marginLeft="10dp" 
         android:layout_marginTop="10dp" 
         android:clickable="true"> 

         <ImageView 
          android:layout_width="7dp" 
          android:layout_height="7dp" 
          android:layout_marginTop="6dp" 
          android:background="#90000000" /> 

         <TextView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:layout_marginLeft="5dp" 
          android:text="Motel Araam, Kottarakkara " 

          android:textSize="17sp" /> 

        </LinearLayout> 
       </com.andexert.library.RippleView> 
      </android.support.v7.widget.CardView> 


      <android.support.v7.widget.CardView 

       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="5dp" 
       android:layout_marginRight="5dp" 
       android:layout_marginTop="10dp" 
       app:cardCornerRadius="8dp" 
       app:cardElevation="@dimen/cardview_default_elevation" 
       app:cardPreventCornerOverlap="false"> 

       <com.andexert.library.RippleView 
        rv_centered="true" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_margin="1dp" 
        app:rv_color="#b2dfdb"> 

        <LinearLayout 
         android:id="@+id/linear2" 
         android:layout_width="match_parent" 


         android:layout_height="30dp" 
         android:layout_marginLeft="10dp" 
         android:layout_marginTop="10dp"> 

         <ImageView 
          android:layout_width="7dp" 
          android:layout_height="7dp" 
          android:layout_marginTop="5dp" 
          android:background="#90000000" /> 

         <TextView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:layout_marginLeft="5dp" 
          android:text="Motel Araam, Punaloor" 
          android:textSize="17sp" /> 

        </LinearLayout> 
       </com.andexert.library.RippleView> 
      </android.support.v7.widget.CardView> 


      <android.support.v7.widget.CardView 

       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="5dp" 
       android:layout_marginRight="5dp" 
       android:layout_marginTop="10dp" 
       app:cardCornerRadius="8dp" 
       app:cardElevation="@dimen/cardview_default_elevation" 
       app:cardPreventCornerOverlap="false"> 

       <com.andexert.library.RippleView 
        rv_centered="true" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_margin="1dp" 
        app:rv_color="#b2dfdb"> 

        <LinearLayout 
         android:id="@+id/linear3" 
         android:layout_width="match_parent" 


         android:layout_height="30dp" 
         android:layout_marginLeft="10dp" 
         android:layout_marginTop="10dp"> 

         <ImageView 
          android:layout_width="7dp" 
          android:layout_height="7dp" 
          android:layout_marginTop="5dp" 
          android:background="#90000000" /> 

         <TextView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:layout_marginLeft="5dp" 
          android:text="Motel Araam, Palaruvi " 
          android:textSize="17sp" /> 

        </LinearLayout> 
       </com.andexert.library.RippleView> 
      </android.support.v7.widget.CardView> 


      <android.support.v7.widget.CardView 

       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="5dp" 
       android:layout_marginRight="5dp" 
       android:layout_marginTop="10dp" 
       app:cardCornerRadius="8dp" 
       app:cardElevation="@dimen/cardview_default_elevation" 
       app:cardPreventCornerOverlap="false"> 

       <com.andexert.library.RippleView 
        rv_centered="true" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_margin="1dp" 
        app:rv_color="#b2dfdb"> 

        <LinearLayout 
         android:id="@+id/linear4" 
         android:layout_width="match_parent" 


         android:layout_height="30dp" 
         android:layout_marginLeft="10dp" 
         android:layout_marginTop="10dp"> 

         <ImageView 
          android:layout_width="7dp" 
          android:layout_height="7dp" 
          android:layout_marginTop="5dp" 
          android:background="#90000000" /> 

         <TextView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:layout_marginLeft="5dp" 
          android:text="Motel Araam, Kayamkulam" 
          android:textSize="17sp" /> 

        </LinearLayout> 
       </com.andexert.library.RippleView> 
      </android.support.v7.widget.CardView> 


      <android.support.v7.widget.CardView 

       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="5dp" 
       android:layout_marginRight="5dp" 
       android:layout_marginTop="10dp" 
       app:cardCornerRadius="8dp" 
       app:cardElevation="@dimen/cardview_default_elevation" 
       app:cardPreventCornerOverlap="false"> 

       <com.andexert.library.RippleView 
        rv_centered="true" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_margin="1dp" 
        app:rv_color="#b2dfdb"> 

        <LinearLayout 
         android:id="@+id/linear5" 
         android:layout_width="match_parent" 


         android:layout_height="30dp" 
         android:layout_marginLeft="10dp" 
         android:layout_marginTop="10dp"> 

         <ImageView 
          android:layout_width="7dp" 
          android:layout_height="7dp" 
          android:layout_marginTop="5dp" 
          android:background="#90000000" /> 

         <TextView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:layout_marginLeft="5dp" 
          android:text="Motel Araam, Alappuzha " 
          android:textSize="17sp" /> 

        </LinearLayout> 
       </com.andexert.library.RippleView> 
      </android.support.v7.widget.CardView> 


      <android.support.v7.widget.CardView 

       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="5dp" 
       android:layout_marginRight="5dp" 
       android:layout_marginTop="10dp" 
       app:cardCornerRadius="8dp" 
       app:cardElevation="@dimen/cardview_default_elevation" 
       app:cardPreventCornerOverlap="false"> 

       <com.andexert.library.RippleView 
        rv_centered="true" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_margin="1dp" 
        app:rv_color="#b2dfdb"> 

        <LinearLayout 
         android:id="@+id/linear6" 
         android:layout_width="match_parent" 


         android:layout_height="30dp" 
         android:layout_marginLeft="10dp" 
         android:layout_marginTop="10dp"> 

         <ImageView 
          android:layout_width="7dp" 
          android:layout_height="7dp" 
          android:layout_marginTop="5dp" 
          android:background="#90000000" /> 

         <TextView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:layout_marginLeft="5dp" 
          android:text="Motel Araam, Vaikkom " 
          android:textSize="17sp" /> 

        </LinearLayout> 
       </com.andexert.library.RippleView> 
      </android.support.v7.widget.CardView> 

      <android.support.v7.widget.CardView 

       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="5dp" 
       android:layout_marginRight="5dp" 
       android:layout_marginTop="10dp" 
       app:cardCornerRadius="8dp" 
       app:cardElevation="@dimen/cardview_default_elevation" 
       app:cardPreventCornerOverlap="false"> 

       <com.andexert.library.RippleView 
        rv_centered="true" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_margin="1dp" 
        app:rv_color="#b2dfdb"> 

        <LinearLayout 
         android:id="@+id/linear7" 
         android:layout_width="match_parent" 


         android:layout_height="30dp" 
         android:layout_marginLeft="10dp" 
         android:layout_marginTop="10dp"> 

         <ImageView 
          android:layout_width="7dp" 
          android:layout_height="7dp" 
          android:layout_marginTop="5dp" 
          android:background="#90000000" /> 

         <TextView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:layout_marginLeft="5dp" 
          android:text="Motel Araam, Athirapally " 
          android:textSize="17sp" /> 

        </LinearLayout> 
       </com.andexert.library.RippleView> 
      </android.support.v7.widget.CardView> 


      <android.support.v7.widget.CardView 

       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="5dp" 
       android:layout_marginRight="5dp" 
       android:layout_marginTop="10dp" 
       app:cardCornerRadius="8dp" 
       app:cardElevation="@dimen/cardview_default_elevation" 
       app:cardPreventCornerOverlap="false"> 

       <com.andexert.library.RippleView 
        rv_centered="true" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_margin="1dp" 
        app:rv_color="#b2dfdb"> 

        <LinearLayout 
         android:id="@+id/linear8" 
         android:layout_width="match_parent" 


         android:layout_height="30dp" 
         android:layout_marginLeft="10dp" 
         android:layout_marginTop="10dp"> 

         <ImageView 
          android:layout_width="7dp" 
          android:layout_height="7dp" 
          android:layout_marginTop="5dp" 
          android:background="#90000000" /> 

         <TextView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:layout_marginLeft="5dp" 
          android:text="Motel Araam, Kuttipuram " 
          android:textSize="17sp" /> 

        </LinearLayout> 
       </com.andexert.library.RippleView> 
      </android.support.v7.widget.CardView> 


      <android.support.v7.widget.CardView 

       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="5dp" 
       android:layout_marginRight="5dp" 
       android:layout_marginTop="10dp" 
       app:cardCornerRadius="8dp" 
       app:cardElevation="@dimen/cardview_default_elevation" 
       app:cardPreventCornerOverlap="false"> 

       <com.andexert.library.RippleView 
        rv_centered="true" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_margin="1dp" 
        app:rv_color="#b2dfdb"> 

        <LinearLayout 
         android:id="@+id/linear9" 
         android:layout_width="match_parent" 


         android:layout_height="30dp" 
         android:layout_marginLeft="10dp" 
         android:layout_marginTop="10dp"> 

         <ImageView 
          android:layout_width="7dp" 
          android:layout_height="7dp" 
          android:layout_marginTop="5dp" 
          android:background="#90000000" /> 

         <TextView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:layout_marginLeft="5dp" 
          android:text="Motel Araam, Erumayur " 
          android:textSize="17sp" /> 

        </LinearLayout> 
       </com.andexert.library.RippleView> 
      </android.support.v7.widget.CardView> 
      > 

      <android.support.v7.widget.CardView 

       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="5dp" 
       android:layout_marginRight="5dp" 
       android:layout_marginTop="10dp" 
       app:cardCornerRadius="8dp" 
       app:cardElevation="@dimen/cardview_default_elevation" 
       app:cardPreventCornerOverlap="false"> 

       <com.andexert.library.RippleView 
        rv_centered="true" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_margin="1dp" 
        app:rv_color="#b2dfdb"> 

        <LinearLayout 
         android:id="@+id/linear10" 
         android:layout_width="match_parent" 


         android:layout_height="30dp" 
         android:layout_marginLeft="10dp" 
         android:layout_marginTop="10dp"> 

         <ImageView 
          android:layout_width="7dp" 
          android:layout_height="7dp" 
          android:layout_marginTop="5dp" 
          android:background="#90000000" /> 

         <TextView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:layout_marginLeft="5dp" 
          android:text="Motel Araam, Vadakara " 
          android:textSize="17sp" /> 

        </LinearLayout> 
       </com.andexert.library.RippleView> 
      </android.support.v7.widget.CardView> 


      <android.support.v7.widget.CardView 

       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="5dp" 
       android:layout_marginRight="5dp" 
       android:layout_marginTop="10dp" 
       app:cardCornerRadius="8dp" 
       app:cardElevation="@dimen/cardview_default_elevation" 
       app:cardPreventCornerOverlap="false"> 

       <com.andexert.library.RippleView 
        rv_centered="true" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_margin="1dp" 
        app:rv_color="#b2dfdb"> 

        <LinearLayout 
         android:id="@+id/linear11" 
         android:layout_width="match_parent" 
         android:layout_height="30dp" 
         android:layout_marginBottom="5dp" 
         android:layout_marginLeft="10dp" 
         android:layout_marginTop="10dp"> 

         <ImageView 
          android:layout_width="7dp" 
          android:layout_height="7dp" 
          android:layout_marginTop="5dp" 
          android:background="#90000000" /> 

         <TextView 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:layout_marginLeft="5dp" 
          android:text="Motel Aaram, Kannur" 
          android:textSize="17sp" /> 

        </LinearLayout> 
       </com.andexert.library.RippleView> 
      </android.support.v7.widget.CardView> 

     </LinearLayout> 
    </ScrollView> 


</LinearLayout></LinearLayout> 

MotelKttrk.java (фрагмент):

package com.example.sabudaniel61.ktdc; 

import android.os.Bundle; 

import android.support.v4.app.Fragment; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 

/** 
* Created by Jobin Sabu on 1/12/2016. 
*/ 
public class MotelKttrk extends Fragment { 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     View v=inflater.inflate(R.layout.motel_kottarakara,container,false); 
     return v; 
    } 
} 

motel_kottarakar a.xml (Макет фрагмента):

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:weightSum="1" 
    android:id="@+id/motel1"> 

    <TextView 
    android:layout_width="match_parent" 
    android:layout_height="35dp" 
    android:text="Motel Araam, Kottarakkara\n(Thiruvananthapuram-Kottayam MC road)" 
    android:id="@+id/textView" 
     android:padding="5dp" 
     android:background="#F50057" 
    android:textColor="#ffffff" 
    android:textSize="15sp" 
    android:layout_weight="0.03" /> 
    <View 
     android:layout_width="wrap_content" 
     android:layout_height="1dp" 
     android:layout_marginTop="5dp" 
     android:background="@drawable/shadow"/> 
    <TextView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:paddingLeft="15dp" 
     android:paddingRight="10dp" 
     android:layout_marginTop="10dp" 
     android:text="Located at 70 km from Thiruvananthapuram by the side of MC Road in Kottarakkara, this motel facilitates a break for travellers begining their journey from Trivandrum.This motel is about 80 km from Kottayam ie. almost middle of Thiruvananthapuram - Kottayam MC road." 
     android:id="@+id/textView1" 
     android:background="#ffffff" 

     android:textSize="15sp" 
     android:layout_weight="0.03" /> 

    <TextView 
     android:layout_width="match_parent" 
     android:layout_height="35dp" 
     android:background="#ffffff" 
     android:text="Facilities" 
     android:id="@+id/textView3" 
     android:padding="14dp" 

     android:textColor="#F50057" 
     android:textSize="15sp" 
     android:layout_weight="0.03" /> 
    <TextView 
     android:layout_width="match_parent" 
     android:layout_height="45dp" 
     android:paddingLeft="15dp" 
     android:text="Two non A/c twin bedded rooms\nA/c and Non A/c restaurants" 
     android:id="@+id/textView4" 
     android:background="#ffffff" 


     android:textSize="15sp" 
     android:layout_weight="0.03" /> 
</LinearLayout> 

enter image description here

ответ

1

Попробуйте изменить linearmotel от LinearLayout к FrameLayout в XML и определяют ширину и высоту.

<FrameLayout 
     android:layout_width="match_parent" // change as per your requirement 
     android:layout_height="match_parent" // change as per your requirement 
     android:id="@+id/linearmotel"> 
+0

Я внедрил click to linearlayout с идентификатором R.id.linear1.It работает, но он отображается как снимок экрана выше. Содержимое в макете кадра не удаляется. – jobin

+0

У тебя там .... ?? – jobin

+0

Это происходит потому, что вы использовали свойство wrap_content, определяя высоту своего макета контейнера. –

Смежные вопросы