2011-12-18 17 views
0

私は自分自身のために簡単なアプリを作成しています。私は配列とArrayAdapterを使って、GridLayoutを使って簡単なメニューを作りたいと思っています。ここで 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 

これらは私の2番目のXMLは、私のXMLS

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 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> 

Iをmenu.xmlすべての3 dに6つのアイコンがありますrawableフォルダ。

私はシミュレータ上でそれを起動すると、これは私が

have-何のテキストが現れているが、何の画像のアイコンが現れません。

スクリーンショット

enter image description here

私はあなたがグリッドビューに表示されたテキストで表示されるように、いくつかのアイコンをワンすべてを正しく理解している場合、誰もが..

答えて

0

正しい方向に私を指すでした。しかし、あなたのメニュー項目xmlにイメージビューがないことに気付きました。あなたはNULLPOINTER EXCEPTIONを取得する必要があります。正しいxml/javaを投稿しましたか?

+0

はい私は持っているXMLファイルです。 – Parvesh

関連する問題