FrameLayout을 만든 다음 두 개의보기 (ImageView 및 TextView)를 추가합니다. 의 getView()에프로그래밍 방식으로 추가 된보기가있는 Android ViewHolder 패턴
내 코드 :
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView;
TextView textView1;
int new_width = wid/2;
int textview_id=0;
FrameLayout frame_layout = new FrameLayout(mContext); // Instantiate the parent
frame_layout.setLayoutParams(new GridView.LayoutParams(android.widget.FrameLayout.LayoutParams.MATCH_PARENT,
android.widget.FrameLayout.LayoutParams.MATCH_PARENT));
textView1 = new TextView(mContext); textView1.setId(position);
textView1.setText("Set Wallpaper");
textView1.setTextColor(mContext.getResources().getColor(R.color.set_wallpaper_colors));
textView1.setVisibility(View.INVISIBLE);
textView1.setTypeface(textView1.getTypeface(), Typeface.BOLD);
FrameLayout.LayoutParams textview_params = new FrameLayout.LayoutParams(
LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
textview_params.gravity = Gravity.CENTER;
FrameLayout.LayoutParams imageview_params = new FrameLayout.LayoutParams(
new_width -5, new_width -5);
imageView = new ImageView(mContext);
//imageView.setLayoutParams(new GridView.LayoutParams(new_width - 5, new_width -5));
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setPadding(0, 0, 0, 0);
imageView.setImageResource(mThumbIds[position]);
frame_layout.addView(imageView, imageview_params);
frame_layout.addView(textView1, textview_params);
return frame_layout;
}
어떻게 그것이 ViewHolder 클래스를 사용하도록 변경해야합니다. 팽창시킬 레이아웃이 없습니다. 코드와
과 같이해야한다. XML로부터 팽창하거나 뷰를 동적으로 생성 할 수 있습니다. 전체 getView 메소드를 게시하여 확인할 수 있습니다. –
@Tim ok 코드를 게시했습니다. – mt0s