2016-11-10 2 views
1

У меня есть проект, который я разрабатываю, но у меня возникла проблема с большим промежутком, возникающим между двумя пунктами в приложении для Android, я попытался посмотреть на все предыдущие предложения здесь о том, как чтобы решить эту проблему, но никто не работал для меняRECYCLERVIEW SPACE МЕЖДУ ДЕТАЛЯМИ НА ANDROID APPLICATION

Вот моя Компоновка, что вызывает проблемы

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_gravity="center" 
android:gravity="center" 
android:layout_height="match_parent" 
android:orientation="horizontal"> 

<android.support.v7.widget.RecyclerView 
    android:id="@+id/prodct_list" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="false" 
    android:scaleType="fitXY" 
    android:padding="0dp" 
    android:adjustViewBounds="true"/> 

<android.support.design.widget.FloatingActionButton 
android:id="@+id/actionbutton" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_alignParentBottom="true" 
android:layout_alignParentEnd="true" 
android:layout_alignParentRight="true" 
android:layout_gravity="end" 
android:visibility="gone" /> 

а вот мой OnCreate метод в деятельности, связанную с указанным выше макетом:

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    tabletSize = getResources().getBoolean(R.bool.isTablet); 
    if (!tabletSize) { 
     setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
    } 
    setContentView(R.layout.order_details); 

    ab = getSupportActionBar(); 
    ab.setDisplayUseLogoEnabled(true); 
    ab.setDisplayHomeAsUpEnabled(true); 

    actionButton = (FloatingActionButton) findViewById(R.id.actionbutton); 
    actionButton.setBackgroundColor(getResources().getColor(R.color.actionbar)); 
    actionButton.setImageResource(R.drawable.ic_action_send); 

    appPreference = new AppPreference(this); 
    mRecyclerView = (RecyclerView) findViewById(R.id.prodct_list); 
    mRecyclerView.setHasFixedSize(true); 
    mRecyclerView.setItemAnimator(new DefaultItemAnimator()); 

    mLayoutManager = new LinearLayoutManager(this); 
    mRecyclerView.setLayoutManager(mLayoutManager); 

    final Intent intent = getIntent(); 
    pyid = intent.getExtras().getLong(Quotes.ID); 

    mItemsDetail = QuoteItems.getItemsArray(this ,pyid); 

    mAdapter = new DeliveryDetailsAdapter(this, mItemsDetail); 
    mRecyclerView.setAdapter(mAdapter); 

    pContent = new ParseContent(this); 
    title = intent.getExtras().getString(Quotes.REFERENCE); 
    if (pyid == 0) 
     finish(); 

    if (Validating.areSet(title)) 
     ab.setTitle("Quote Details"); 
    else 
     ab.setTitle(getString(R.string.strorder)); 

    mRecyclerView.addOnItemTouchListener(
      new RecylerItemClick(this, new RecylerItemClick.OnItemClickListener() { 
       @Override 
       public void onItemClick(View view, int position) { 

       } 
      }) 
    ); 

А вот мой список пунктов, населенных на recyclerview:

<android.support.v7.widget.CardView xmlns:card_view="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/card_view11" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_above="@+id/rltotals" 
    android:layout_below="@+id/autotxtsaleclientname" 
    card_view:cardBackgroundColor="@color/white" 
    card_view:cardCornerRadius="7.0dip" 
    card_view:cardElevation="0dp"> 

    <android.support.v7.widget.RecyclerView 
     android:id="@+id/prodct_list" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:scrollbars="vertical" /> 
</android.support.v7.widget.CardView> 

И когда я запустить приложение на той части детали на recyclerview дисплеи с большим промежутком между каждым элементом Может кто-нибудь помочь мне решить проблему с разрывом между элементами

+0

Вы используете карточку для предметов? – Rajan1404930

+0

Да, я использую cardview, см. Вопрос –

ответ

0

проверить макет элемента внутри DeliveryDetailsAdapter для накачивания каждого элемента (OncreateViewholder)

Возможно, вы указали margin в корневом макете. удалить поле от корневого макета и установить ширину в соответствии с родительским и высотой в качестве wrap_content

+0

Я попытался установить высоту макета для wrap_content, но все тот же результат –

1

Проблема заключается в вашем классе адаптера. Вы должны сделать родительскую высоту класса адаптера как wrap_content. Поскольку ваш recylerview является вертикальным, вам необходимо изменить высоту родительского макета адаптера на wrap_content. После этого также, если проблема существует, проверьте, является ли какая-либо другая высота просмотра дочернего адаптера match_parent, если это так изменится на wrap_content.

Надеюсь, что это полезно :)

+0

Я попытался установить высоту макета на wrap_content, но все тот же результат –

+0

Спасибо, я нашел, что проблема на мой комплект поставкиDetailsAdapter –

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