2017-08-03 11 views
0

mysqlデータベースからいくつかのデータをリストビューに取得していますが、データベースにある各アイテムの新しいリストビューが毎回生成されているように見えますアイテム間にあまりにも多くのスペースが必要です。どんな助けでも本当に感謝します! :D私はmatch_parentにすることでレイアウトを修正しようとしましたが、どれもうまくいきませんでした。Androidのカスタムリストビューでアイテム間のスペースが多すぎる

first

second

オリジナルレイアウト:

<?xml version="1.0" encoding="utf-8"?> 
    <RelativeLayout 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="wrap_content" 
     android:background="@drawable/background" 
     android:weightSum="1"> 

     <ImageView 
      android:id="@+id/logoImageView" 
      android:layout_width="80dp" 
      android:layout_height="80dp" 
      android:layout_alignParentStart="true" 
      android:layout_alignParentTop="true" 
      android:layout_marginStart="17dp" 
      android:layout_weight="0.07" 
      android:adjustViewBounds="true" 
      android:scaleType="fitCenter" 
      app:srcCompat="@drawable/logo" /> 

     <TextView 
      android:id="@+id/titletextview" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignTop="@+id/logoImageView" 
      android:layout_marginLeft="33dp" 
      android:layout_toEndOf="@+id/logoImageView" 
      android:text="Title" 
      android:textColor="@android:color/background_light" 
      android:textSize="18sp" /> 

     <TextView 
      android:id="@+id/descriptiontextview" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="33dp" 
      android:text="Description" 
      android:textColor="@android:color/background_light" 
      android:textSize="17sp" 
      android:layout_below="@+id/titletextview" 
      android:layout_centerHorizontal="true" /> 

     <TextView 
      android:id="@+id/startdateTextview" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="33dp" 
      android:text="Start Date" 
      android:textColor="@android:color/background_light" 
      android:textSize="14sp" 
      android:layout_alignBottom="@+id/logoImageView" 
      android:layout_toEndOf="@+id/logoImageView" /> 

     <TextView 
      android:id="@+id/enddatetextview" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="33dp" 
      android:layout_marginStart="28dp" 
      android:text="End Date" 
      android:textColor="@android:color/background_light" 
      android:textSize="14sp" 
      android:layout_alignBottom="@+id/logoImageView" 
      android:layout_toEndOf="@+id/startdateTextview" /> 

     <Button 
      android:id="@+id/button2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="33dp" 
      android:background="@drawable/trash" 
      android:layout_alignBaseline="@+id/descriptiontextview" 
      android:layout_alignBottom="@+id/descriptiontextview" 
      android:layout_toEndOf="@+id/enddatetextview" /> 

    </RelativeLayout> 

CustomLayout:

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout 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="wrap_content" 
    android:background="@drawable/background" 
    android:weightSum="1"> 

    <ImageView 
     android:id="@+id/logoImageView" 
     android:layout_width="80dp" 
     android:layout_height="80dp" 
     android:layout_alignParentStart="true" 
     android:layout_alignParentTop="true" 
     android:layout_marginStart="17dp" 
     android:layout_weight="0.07" 
     android:adjustViewBounds="true" 
     android:scaleType="fitCenter" 
     app:srcCompat="@drawable/logo" /> 

    <TextView 
     android:id="@+id/titletextview" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignTop="@+id/logoImageView" 
     android:layout_marginLeft="33dp" 
     android:layout_toEndOf="@+id/logoImageView" 
     android:text="Title" 
     android:textColor="@android:color/background_light" 
     android:textSize="18sp" /> 

    <TextView 
     android:id="@+id/descriptiontextview" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="33dp" 
     android:text="Description" 
     android:textColor="@android:color/background_light" 
     android:textSize="17sp" 
     android:layout_below="@+id/titletextview" 
     android:layout_centerHorizontal="true" /> 

    <TextView 
     android:id="@+id/startdateTextview" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="33dp" 
     android:text="Start Date" 
     android:textColor="@android:color/background_light" 
     android:textSize="14sp" 
     android:layout_alignBottom="@+id/logoImageView" 
     android:layout_toEndOf="@+id/logoImageView" /> 

    <TextView 
     android:id="@+id/enddatetextview" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="33dp" 
     android:layout_marginStart="28dp" 
     android:text="End Date" 
     android:textColor="@android:color/background_light" 
     android:textSize="14sp" 
     android:layout_alignBottom="@+id/logoImageView" 
     android:layout_toEndOf="@+id/startdateTextview" /> 

    <Button 
     android:id="@+id/button2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="33dp" 
     android:background="@drawable/trash" 
     android:layout_alignBaseline="@+id/descriptiontextview" 
     android:layout_alignBottom="@+id/descriptiontextview" 
     android:layout_toEndOf="@+id/enddatetextview" /> 

</RelativeLayout> 

マイBaseAdapterクラス:

import android.content.Context; 
import android.database.DataSetObserver; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.BaseAdapter; 
import android.widget.ImageView; 
import android.widget.TextView; 

import com.example.alex.bookingapplication.CompanyData; 
import com.example.alex.bookingapplication.R; 

import java.util.ArrayList; 

/** 
* Created by AlexPC on 8/3/2017. 
*/ 

public class CustomAdapter extends BaseAdapter { 
    Context c; 
    ArrayList<CompanyData> informations = new ArrayList<>(); 
    LayoutInflater inflater; 

    public CustomAdapter(Context c, ArrayList<CompanyData> informations) { 
     this.c = c; 
     this.informations = informations; 
     inflater = (LayoutInflater) c.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    } 

    public CustomAdapter() { 
     super(); 
    } 

    @Override 
    public int getCount() { 
     return informations.size(); 
    } 

    @Override 
    public Object getItem(int i) { 
     return informations.get(i); 
    } 

    @Override 
    public long getItemId(int i) { 
     return i; 
    } 

    @Override 
    public View getView(int i, View view, ViewGroup viewGroup) { 
     if(view == null) { 
      view = inflater.inflate(R.layout.yourservicescustomlayout, null); 
     } 

      // ImageView logo = (ImageView)view.findViewById(R.id.logoImageView); 
      TextView title = (TextView) view.findViewById(R.id.titletextview); 
      TextView description = (TextView) view.findViewById(R.id.descriptiontextview); 
      TextView startDate = (TextView) view.findViewById(R.id.startdateTextview); 
      TextView endDate = (TextView) view.findViewById(R.id.enddatetextview); 

      CompanyData companyData = informations.get(i); 

      title.setText(companyData.getTitle()); 
      description.setText(companyData.getDescription()); 
      startDate.setText(companyData.getStartDate()); 
      endDate.setText(companyData.getEndDate()); 

     return view; 

    } 

    @Override 
    public CharSequence[] getAutofillOptions() { 
     return new CharSequence[0]; 
    } 
} 
+0

を次のように、あなたのレイアウトXMLレイアウトxmlファイルを –

+0

ポストあなたはまだ –

+0

しようとしたいくつかのより多くの説明を入れているか、あなたのxmlデザインを、追加し、どのようにデータを入れていますアダプタに入れてください –

答えて

0

リストアダプターを使用していますか? もしあなたが(おそらく、正常に動作しているはずです)、アダプター上のオブジェクトのリストを更新して更新することができます。

adapter.clear(); 
adapter.notifyDataSetChanged(); 

ListAdapter Documentation

Adapter Documentation

+0

でも近くにはありません –

+0

申し訳ありませんが、これは正しい方向にあなたを導くための情報ではありません@Oussema。ドキュメントを見てみてください。 – Stuckzilla

+0

あなたはその質問に手がかりをつけずに上陸の回答ではなく、より詳細に彼に尋ねなければなりません –

関連する問題