Spartan

خطا GridView

2 ارسال در این موضوع قرار دارد

با سلام

یه نمونه برنامه برای تمرین مینوشتم که به مشکل خوردم و  تو گوگل هم به نتیجه خاصی نرسیدم اول از همه در layout  گرید تعریف کردم

[shcode=xml]

 

            android:id="@+id/GridView_Cll"

            android:layout_width="500dp"

            android:layout_height="wrap_content"

            android:cacheColorHint="@color/white"

            android:numColumns="7"

            android:background="@drawable/cell_shape"

            android:gravity="center">

   

[/shcode]

بعد داخل متد onCreate کد زیر نوشتم

[shcode=java]

     String[] _DCl = {"1","2","3","4","5","6"};

        _GridView_Cll = (GridView) findViewById(R.id.GridView_Cll);

        _GridView_Cll.setAdapter(new TextViewAdapter(this, _DCl));

[/shcode]

  TextViewAdapter هم به صورت

[shcode=java]

public class TextViewAdapter extends BaseAdapter {

    private Context context;

    private final String[] textViewValues;

    public TextViewAdapter(Context context, String[] textViewValues) {

        this.context = context;

        this.textViewValues = textViewValues;

    }

    public View getView(int position, View convertView, ViewGroup parent) {

        LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

        View gridView;

        if (convertView == null) {

            gridView = new View(context);

            gridView = inflater.inflate(R.layout.screen_gridcell, null);

            TextView textView = (TextView) gridView

                    .findViewById(R.id.num_events_per_day);

            textView.setText(textViewValues[position]);

        } else {

            gridView = (View) convertView;

        }

        return gridView;

    }

    @Override

    public int getCount() {

        return textViewValues.length;

    }

    @Override

    public Object getItem(int position) {

        return null;

    }

    @Override

    public long getItemId(int position) {

        return 0;

    }

}

[/shcode]

و همه چی درست اجرا میشه و GridView هم درست ولی اگر بعد از کدهای بالا داخل متد onCreate به طور مثال

[shcode=java]

                    _GridView_Cll.getChildAt(2).setVisibility(View.INVISIBLE);

[/shcode]

قرار بدم NullPointerException میده , getChildCount() هم مقدار 0 بر میگردونه ولی اگر به طور مثال کد بالا در یک Button قرار بدم مشکلی پیش نمیاد و getChildCount() هم درست بر میگرده ولی داخل onCreate درست نیست :-/

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام

[shcode=java]

@Override

    public int getCount() {

        return textViewValues.length;

    }

 

    @Override

    public Object getItem(int position) {

        return null;

    }

 

    @Override

    public long getItemId(int position) {

        return 0;

    }

[/shcode]

این کد ها رو پاک کن، ببین درست میشه؛ اگر حل نشد

با دیباگ اجرا کن، در LogCat ببین چه خطایی میده؟

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری