2011-02-10 94 views
2

大家好我正在尝试使用GridView显示一些图像。然而,当我导入android.widget.AdapterView.OnItemClickListener时,我得到一个错误,说主不能被解析或不是字段。我的代码如下:在GridView中显示图片

import import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.AdapterView; 
import android.widget.GridView; 
import android.widget.Toast; 
import android.widget.AdapterView.OnItemClickListener; 
//Error here: main cannot be resolved or is not field 

public class MainActivity extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     GridView gridview = (GridView) findViewById(R.id.photogrid); 
     gridview.setAdapter(new ImageAdapter(this)); 

     gridview.setOnItemClickListener(new OnItemClickListener() { 
      public void onItemClick(AdapterView<?> parent, View v, int position, long id) { 
       Toast.makeText(MainActivity.this, "" + position, Toast.LENGTH_SHORT).show(); 
      } 
     }); 
    } 
} 

package com.newapp; 

import android.content.Context; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.BaseAdapter; 
import android.widget.GridView; 
import android.widget.ImageView; 

public class ImageAdapter extends BaseAdapter{ 

    private Context mContext; 

public ImageAdapter(Context c) { 
    mContext = c; 
} 

public int getCount() { 
    return mThumbIds.length; 
} 

public Object getItem(int position) { 
    return null; 
} 

public long getItemId(int position) { 
    return 0; 
} 

// create a new ImageView for each item referenced by the Adapter 
public View getView(int position, View convertView, ViewGroup parent) { 
    ImageView imageView; 
    if (convertView == null) { // if it's not recycled, initialize some attributes 
     imageView = new ImageView(mContext); 
     imageView.setLayoutParams(new GridView.LayoutParams(85, 85)); 
     imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); 
     imageView.setPadding(8, 8, 8, 8); 
    } else { 
     imageView = (ImageView) convertView; 
    } 

    imageView.setImageResource(mThumbIds[position]); 
    return imageView; 
} 

// references to our images 
private Integer[] mThumbIds = { 

     R.drawable.sample_0, R.drawable.sample_1, 
     R.drawable.sample_2, R.drawable.sample_3, 
     R.drawable.sample_4, R.drawable.sample_5, 
     R.drawable.sample_6, R.drawable.sample_7, 

    }; 
} 

有人可以告诉我为什么我得到这个错误吗?任何帮助将不胜感激。谢谢

回答

0

这可能与导入无关,我猜它是抱怨这个:R.layout.main。这是您定义的布局吗?您需要导入正确的R文件,很可能是您的软件包中生成的文件:com.newapp.R?

此外,我认为在开始的额外导入是复制错误?

+0

是的,你是对的额外进口在开始是复制错误。非常感谢Mayra的帮助。这个答案帮了我很多。 – Engprof 2011-02-10 01:57:46