2012-02-26 2 views
2

저는 프로그래머로서 그리드보기에서 이미지를 클릭 할 때 새로운 활동을 시작하는 방법이 필요합니다. 내가 시도한 모든 것은 효과가 없다. 아이디어가 있습니까? 다른 활동을로드하려면 각 이미지가 필요합니다. 그리드가 작동하지만 활동을 변경하기 만하면됩니다.격자보기 이미지에서 새 작업 시작 누르기

자바 파일 : 개별 imageViews에 당신이 (그리드) onItemClickListener의 종류를 설정하지 않는 주어진 코드

package your.pacage.names; 

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


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.ic_launcher, 
     R.drawable.ic_launcher, R.drawable.ic_launcher, 
     R.drawable.ic_launcher, R.drawable.ic_launcher, 
     R.drawable.ic_launcher }; 
} 

답변

6

또는 View.OnClickListener ... 당신은 하나 이상의 작업을 수행해야 그리드보기 항목 중 하나를 누를 때 일어날 일들이 있습니다.

은 활동에서 새 활동을 시작하려면 : 만약 startActivity (새 의도 (YourActivity.this, TargetActivity.class))를

모두 함께 수행에서 onCreate에서 다음

GridView yourGridView = (GridView) findViewById(R.id.your_grid_view_id); 
yourGridView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
    @Override 
    public void onItemClick(AdapterView<?> adapterView, View view, int position, long l){ 
     Class targetActivity = getTargetActivityForPosition(position); 
     YourActivity.this.startActivity(new Intent(YourActivity.this, TargetActivity.class)); 
    } 
} 
+0

감사합니다. – user1224508

0

죄송합니다, 여기에 내가 제 질문에 5 가지 새로운 활동을하고 5 명의 활동가와 관련된 5 가지 이미지를 설정합니다. 그래서 어떻게하면 새로운 활동을 열기 위해 onClickItemListener를 설정할 수 있습니까?