public class aaa extends View{
GridView gridview = (GridView) findViewById(R.id.mGridView);
public aaa(Context context) {
super(context);
init(context);
}
public aaa(Context context, AttributeSet attrs) {
super(context, attrs);
//gridview.setAdapter(new ImageAdapter(context));
init(context);
}
public aaa(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
//gridview.setAdapter(new ImageAdapter(context));
init(context);
}
public static void setState(boolean set){
set_state=set;
}
public ImageAdapter getAdapter() {
return (ImageAdapter) gridview.getAdapter();
}
public void setAdapter(ImageAdapter adapter) {
gridview.setAdapter(adapter);
}
public void setOnItemClickListener(OnItemClickListener listener) {
gridview.setOnItemClickListener(listener);
}
private void init(Context context){
gridview.setAdapter(new ImageAdapter(context));
gridview.setVisibility(View.VISIBLE);
}
public void reset(){
gridview.setVisibility(View.INVISIBLE);
}
public class ImageAdapter extends BaseAdapter {
//source
}
}
라는 클래스를 메인폼으로 불러올려고 하는데요
<GridView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mGridView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numColumns="auto_fit"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:columnWidth="90dp"
android:visibility="visible"
android:stretchMode="columnWidth"
android:gravity="center">
</GridView>
이 그리드뷰를 참조중이구요
main.xml안에
<com.ii.aaa
android:id="@+id/mCateView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:visibility="visible"
android:layout_gravity="center_horizontal"
/>
라고 작성했구요
메인자바코드는
public class aaa1 extends Activity implements OnItemClickListener{
aaa va;
@Override
public void onCreate(Bundle savedInstanceState) {
aaa.setState(false);
va.reset();
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
va = (aaa)this.findViewById(R.id.mCateView);
Button cate_button = (Button) findViewById(R.id.mcate_button);
cate_button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
aaa.setState(true);
va.setVisibility(View.VISIBLE);
}
});
}
}
이런식으로 구성을 했는데요
맨위에 view클래스에서 gridview에서 id값을 참조했는데 밑에 자바클래스에서 또 id값을 참조해서 안되는 건가요?
계속 예상치 못하게 종료된다고 뜨네요 ;;;
aa
aaa
aaa1
막 섞여 있네요.
되도록이면 구분 가능한 이름 쓰세요.