2011-02-10 26 views
2

こんにちは皆私はGridViewを使用していくつかの画像を表示しようとしています。しかし、mainを解決できない、またはフィールドではないことを示すandroid.widget.AdapterView.OnItemClickListenerをインポートするとエラーが発生します。私のコードは以下の通りです:グリッドビューで画像を表示

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

はい、余分なインポートについては、最初はコピーエラーです。助けてくれてありがとう、マヤ。その答えは私を助けました。 – Engprof

関連する問題