안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요 지금 그리드뷰에 클릭이벤트를 넣을려고 하는데 Toast로 먼저 확인해볼려구 하닌까
Toast가 안나오네요;; ㅠㅠ
간단할줄 알았는데 다시 꼬여버리는 이 묘한 상황..고수님들의 답 부탁드립니다.
//GradientsTestActivity 파일
public class GradientsTestActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
GridView gridview = (GridView)findViewById(R.id.grid);
ButtonAdapter Adapter = new ButtonAdapter(this);
gridview.setAdapter(Adapter); //그리드뷰를 어댑터에 넣어줬다
gridview.setOnItemClickListener(new OnItemClickListener(){
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
Toast.makeText(getApplicationContext(), arg2+"몇번째 그림",
Toast.LENGTH_SHORT).show();
}
});
}
}
//ButtonAdapter 파일이구요
class ButtonAdapter extends BaseAdapter{
private Context mContext;
public ButtonAdapter(Context c){
mContext = c;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return Gradients.AllGradients().size();
//Gradients.allGradients()의 사이즈만큼 리턴한다.
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int position) { //가져오려는 Id의 위치값이 들어감
// TODO Auto-generated method stub
return position;
//http://ribbit.tistory.com/10 참고
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
Button b;
//convertView = getView 메소드의 두번째 인자값
if (convertView == null) {
//convertView가 null이면 새로운 View를 inflation(전개)한다.
b = new Button(mContext);
b.setLayoutParams(new GridView.LayoutParams(35, 35));
//버튼의 크기를LayoutParams.FILL_PARENT로 가로 가득 ,세로 50 으로 만든다.
b.setPadding(8, 8, 8, 8); //여백을 8로 지정
b.setTextSize(7f); // 버튼의 텍스트사이즈
}
else {
b = (Button) convertView;
}
final GradientColor gd = Gradients.AllGradients().get(position);
b.setBackgroundDrawable(Gradients.NewGradient(gd));
//Color값이 넘어온다.
b.setText(gd.getName()); //list에 String Name이 넘어옴
b.setTextColor(gd.getTextColor()); //TextColor로 지정
//b.setShadowLayer(1f, 1f, 1f, gd.getColorE());
//shadowLayer는 레이어에 그림자를 주는것으로
//앞에 2는 그림자의 크기, 두번째 세번째 2는 Dx, Dy로
//그림자와 본글자의 거리이며, 컬러는 그림자의 색상
return b;
}
}
//main입니다.
<GridView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/grid" android:layout_width="fill_parent" android:layout_height="fill_parent" android:verticalSpacing="5dp" android:horizontalSpacing="5dp" android:numColumns="11" />




Toast.makeText(getApplicationContext() 여기부분에 makeText(GradientsTestActivity.this 두 해봤구요.. 토스트가 안나오네요;;