2011-12-18 80 views
0

我正在爲自己的應用創建一個簡單的應用程序。我想用一個簡單的菜單使用GridLayout,使用數組和ArrayAdapter。Android GridMenu佈局 - 圖像未顯示

這裏是我的Java代碼:

package com.jlo.love; 

import android.app.Activity; 
import android.content.Context; 
import android.os.Bundle; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.AdapterView; 
import android.widget.AdapterView.OnItemClickListener; 
import android.widget.ArrayAdapter; 
import android.widget.GridView; 
import android.widget.ImageView; 
import android.widget.TextView; 

public class Love extends Activity implements OnItemClickListener{ 
    /** Called when the activity is first created. */ 

    GridView menu; 
    private String[] menu_text = { 
    "Location", 
    "Rotate", 
    "Gallery", 
    "View", 
    "My Places", 
    "Search"}; 

    Integer[] menu_icon = { 
      android.R.drawable.ic_menu_mylocation, 
      android.R.drawable.ic_menu_rotate, 
      android.R.drawable.ic_menu_gallery, 
      android.R.drawable.ic_menu_view, 
      android.R.drawable.ic_menu_myplaces, 
      android.R.drawable.ic_menu_search}; 


    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.menu); 

     menu = (GridView)findViewById(R.id.Menu); 
     menu.setOnItemClickListener(Love.this); 
     menu.setAdapter(new MenuItem(Love.this, R.layout.menu_item, menu_text)); 




    } 
    public class MenuItem extends ArrayAdapter<String> { 

     public MenuItem(Context context, int textViewResourceId, String[] objects) { 

     super(context, textViewResourceId, objects); 

     } 

} 
    public View getView(int position, View convertView, ViewGroup parent) { 

     LayoutInflater inflater=getLayoutInflater(); 
     View row=inflater.inflate(R.layout.menu_item, parent, false); 
     TextView tv=(TextView)row.findViewById(R.id.text); 
     ImageView iv = (ImageView)row.findViewById(R.id.Menu); 

     tv.setText(menu_text[position]); 
     iv.setImageResource(menu_icon[position]); 
     return row; 

     } 



    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { 
     // TODO Auto-generated method stub 

    } 


}//end class 

這些都是我個XML

menu_item.xml

<?xml version="1.0" encoding="utf-8"?> 
<TextView 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/text" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:gravity="center_horizontal|top" 
android:maxLines="2" 
android:textColor="#000" 
android:drawablePadding="5dp" 
android:minLines="2" 
android:background="@null"> 
</TextView> 

我的第二個XML - menu.xml文件

<?xml version="1.0" encoding="utf-8"?> 
<GridView 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/Menu" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:numColumns="auto_fit" 
android:verticalSpacing="25dp" 
android:horizontalSpacing="10dp" 
android:columnWidth="70dp" 
android:background="#ffffff" 
android:stretchMode="columnWidth" 
android:gravity="center_horizontal|top" 
android:scrollbars="none" 
android:paddingTop="10dp"> 
</GridView> 

我在所有3 d中有6個圖標可用的文件夾。

當我啓動它在模擬器上,這是我有─

文字顯示出來,但沒有圖像圖標顯示出來。

截圖

enter image description here

任何人都可以點我在正確的方向..

回答

0

如果我理解正確的,你的一切婉一些圖標出現與在網格視圖中顯示文本。但我注意到你的菜單項xml沒有圖像視圖,你應該得到一個NULLPOINTER EXCEPTION,你有沒有發佈正確的xml/java?

+0

是的,這是我有的XML文件。 – Parvesh 2011-12-22 04:12:01