2015-01-20 5 views
2

Я использую GridView для отображения некоторых images.I сделали код, но до сих пор я не получаю любые изображенияЭлементов GridView не видны

Пользовательского адаптера

public class CustomAdapter extends BaseAdapter { 

    private Context context; 
    private int[] images; 

    public CustomAdapter(Context context, int[] images) { 
     this.context = context; 
     this.images = images; 
    } 

    @Override 
    public int getCount() { 
     return images.length; 
    } 

    @Override 
    public Object getItem(int position) { 
     return images[position]; 
    } 

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

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     ViewHolder holder; 
     if (convertView == null) { 
      holder = new ViewHolder(); 
      convertView = LayoutInflater.from(context).inflate(R.layout.custom_trips_frag_row, parent, false); 
//   holder.tvHeader = (TextView) convertView.findViewById(R.id.tv_trips_home_header); 
//   holder.tvDate = (TextView) convertView.findViewById(R.id.tv_trips_home_date); 
      holder.ivImage = (ImageView) convertView.findViewById(R.id.iv_trips_home_image); 
      convertView.setTag(holder); 

     } else { 
      holder = (ViewHolder) convertView.getTag(); 
     } 

//   

     holder.ivImage.setImageResource(images[position]); 


     return convertView; 
    } 


    private class ViewHolder { 
     private TextView tvHeader; 
     private TextView tvDate; 
     private ImageView ivImage; 
    } 
} 

Основную активность

public class MainActivity extends MasterActivity { 
    private int[] images={R.drawable.images, R.drawable.images_2, R.drawable.images_1, R.drawable.images_4, R.drawable.images, R.drawable.images_2}; 
    private GridView gridView; 


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

     gridView = (GridView) findViewById(R.id.grid); 
     gridView.setAdapter(new CustomAdapter(this, images)); 


    } 
} 

Пользовательские строки Xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 


    <ImageView 
     android:layout_width="200dp" 
     android:layout_height="200dp" 
     android:id="@+id/iv_trips_home_image" 
     android:src="@drawable/images" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" /> 

    <!--<TextView--> 
     <!--android:layout_width="wrap_content"--> 
     <!--android:layout_height="wrap_content"--> 
     <!--android:layout_below="@+id/iv_trips_home_image"--> 
     <!--android:layout_centerHorizontal="true"--> 
     <!--android:id="@+id/tv_trips_home_header" />--> 

    <!--<triplogger.indiehustlers.com.triplogger.UTIL.CustomTextView--> 
     <!--android:layout_width="wrap_content"--> 
     <!--android:layout_height="wrap_content"--> 
     <!--android:id="@+id/tv_trips_home_header"--> 
     <!--style="@style/textView"--> 
     <!--android:text="Berlin"--> 
     <!--android:textColor="#000"--> 
     <!--android:textStyle="bold"--> 
     <!--android:textSize="@dimen/header_text"--> 
     <!--android:layout_below="@+id/iv_trips_home_image"--> 
     <!--android:layout_centerHorizontal="true" />--> 


    <!--<triplogger.indiehustlers.com.triplogger.UTIL.CustomTextView--> 
     <!--android:layout_width="wrap_content"--> 
     <!--android:layout_height="wrap_content"--> 
     <!--android:text="14-Sept-2014"--> 
     <!--style="@style/textView"--> 
     <!--android:visibility="gone"--> 
     <!--android:textColor="#23170e17"--> 
     <!--android:id="@+id/tv_trips_home_date"--> 
     <!--android:layout_below="@+id/tv_trips_home_header"--> 
     <!--android:layout_centerHorizontal="true" />--> 
</RelativeLayout> 

Master активность

public class MasterActivity extends Activity { 
    protected Context activityContext; 


    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     activityContext = getApplicationContext(); 
    } 
} 

trips_frag

<?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_marginRight="@dimen/margin_right" 
    android:layout_marginLeft="@dimen/margin_left" 

    android:layout_height="match_parent"> 


    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 

     android:orientation="horizontal"> 

     <ImageView 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_weight="1" 
      android:src="@drawable/tab" /> 


     <ImageView 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_weight="1" 
      android:src="@drawable/tab" /> 

    </LinearLayout> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     > 

     <GridView 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:numColumns="2" 
      android:id="@+id/grid" 
      android:verticalSpacing="5dp" 
      android:stretchMode="spacingWidthUniform"></GridView> 

    </LinearLayout> 

</LinearLayout> 

Manifest

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="triplogger.indiehustlers.com.triplogger"> 



    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/TripLoggerTheme"> 
     <activity 
      android:name=".MainActivity" 
      android:label="@string/app_name"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 

</manifest> 

Я много исследований, но до сих пор не получают никакого успеха я не получаю, где я пошло не так? Пожалуйста, помогите мне

+1

В чем состоит ваш класс 'MasterActivity'? – Piyush

+0

Ничего, только я инициализировал контекст – Anuj

+0

Просто покажите этот класс .. – Piyush

ответ

6

Удалить андроид: stretchMod e = "spacingWidthUniform" из gridview. Вы уже фиксируя ширину высоты просмотра изображения GridItem в макете элемента

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

    <GridView 
     android:id="@+id/griddata" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:numColumns="2" 
     android:stretchMode="spacingWidthUniform" 
     android:verticalSpacing="5dp" > 
    </GridView> 

</LinearLayout> 

GridItemLayout

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <ImageView 
     android:id="@+id/iv_trips_home_image" 
     android:layout_width="200dp" 
     android:layout_height="200dp" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" /> 

    <!-- <TextView --> 
    <!-- android:layout_width="wrap_content" --> 
    <!-- android:layout_height="wrap_content" --> 
    <!-- android:layout_below="@+id/iv_trips_home_image" --> 
    <!-- android:layout_centerHorizontal="true" --> 
    <!-- android:id="@+id/tv_trips_home_header" /> --> 


    <!-- <triplogger.indiehustlers.com.triplogger.UTIL.CustomTextView --> 
    <!-- android:layout_width="wrap_content" --> 
    <!-- android:layout_height="wrap_content" --> 
    <!-- android:id="@+id/tv_trips_home_header" --> 
    <!-- style="@style/textView" --> 
    <!-- android:text="Berlin" --> 
    <!-- android:textColor="#000" --> 
    <!-- android:textStyle="bold" --> 
    <!-- android:textSize="@dimen/header_text" --> 
    <!-- android:layout_below="@+id/iv_trips_home_image" --> 
    <!-- android:layout_centerHorizontal="true" /> --> 


    <!-- <triplogger.indiehustlers.com.triplogger.UTIL.CustomTextView --> 
    <!-- android:layout_width="wrap_content" --> 
    <!-- android:layout_height="wrap_content" --> 
    <!-- android:text="14-Sept-2014" --> 
    <!-- style="@style/textView" --> 
    <!-- android:visibility="gone" --> 
    <!-- android:textColor="#23170e17" --> 
    <!-- android:id="@+id/tv_trips_home_date" --> 
    <!-- android:layout_below="@+id/tv_trips_home_header" --> 
    <!-- android:layout_centerHorizontal="true" /> --> 

</RelativeLayout> 
+0

Спасибо, сэр, но как дать пространство между двумя изображениями? – Anuj

+1

вы можете использовать андроид: horizontalSpacing or android: verticalSpacing для интервала сдавать, если u нашел решение – user1140237

+0

ok tysm для вас help – Anuj

1

Удалить strechMode из GridView и добавить андроида: гравитацию = "центр" в custom_trips_frag_row.xml ImageView

<GridView 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:numColumns="2" 
       android:id="@+id/grid" 
       android:verticalSpacing="5dp"></GridView>