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

سلام به همگی دوستان

من به تازگی برنامه نویسی اندروید رو شروع کردم. در حین مطالعه درباره ی List View و Grid View و ... با خطوط کدی مثل خطوط زیر مواجه می شوم و اصلا نمی فهمم که منظور چیه!!

ArrayAdapter adapter = new ArrayAdapter(this,
android.R.layout.simple_list_item_1, shahrList);
setListAdapter(adapter);

منظورم کد بالا نیست و این فقط یه مثاله که بفهمم اینا چیه:

ArrayAdpter  ???

seListAdapter ???

آموزشی هم توی اینترنت پیدا نکردم که این مورد رو توضیح بده فقط خیلی به کار می ره.

لطفا راهنمایی کنید

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


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

سلام

اینکه بخواید در مورد این دو توضیح بدیم باید بگم که کمی توصیفش سخته !! یعنی نمیشه گفت چرا اسمش آداپتره !! اینو فکر کنم باید گوگل توضیح بده :)

َمیتونم بگم adapter یعنی ساخت همون لیست !! یعنی شما هر امکانی که میخواید گرید ویو یا لیستتون داشته باشرو داخل آداپر قرار میدید حتی آرایه هایی که تعریف کرده اید !! که خود آداپتر میفهمه هر یک از خونه های آرایه خود یک سطر از لیست میشه !!!

معمولا هم از Adapter سفارشی استفاده میکنند که در بخشهای آموزش سایت هم موجوده .

لیست هم یک متد دریافت کننده ی این آداپتر رو داره که همان setlistadapter است .

در کل نمیدونم متوجه شدید یا نه گفتم که توضیحاتش کمی سخته

از اینکه نتونستم درست حسابی توضیح بدم عفو بفرماید

موفق باشید

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


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

سلام

اینکه بخواید در مورد این دو توضیح بدیم باید بگم که کمی توصیفش سخته !! یعنی نمیشه گفت چرا اسمش آداپتره !! اینو فکر کنم باید گوگل توضیح بده :)

َمیتونم بگم adapter یعنی ساخت همون لیست !! یعنی شما هر امکانی که میخواید گرید ویو یا لیستتون داشته باشرو داخل آداپر قرار میدید حتی آرایه هایی که تعریف کرده اید !! که خود آداپتر میفهمه هر یک از خونه های آرایه خود یک سطر از لیست میشه !!!

معمولا هم از Adapter سفارشی استفاده میکنند که در بخشهای آموزش سایت هم موجوده .

لیست هم یک متد دریافت کننده ی این آداپتر رو داره که همان setlistadapter است .

در کل نمیدونم متوجه شدید یا نه گفتم که توضیحاتش کمی سخته

از اینکه نتونستم درست حسابی توضیح بدم عفو بفرماید

موفق باشید

یعنی مثلا کلیک کردن روی یکی از آیتم های یک لیست ویو داخل آداپتر نوشته می شه؟

و چرا در کلاس آداپتر از استفاده کرده و مفهومش چیه؟

ممنون از توضیحاتتون تا حدودی با مفهوم اون آشنا شدم ولی با نوشتن و تعریف و متد های اون مشکل دارم!

اگه منبعی هم هست لطفا معرفی کنید.

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


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

سلام

استرینگ مشخص کننده نوع داده هست اگه اونو ننویسین و برنامه به مشکل بخوره برنامه بدون مشکل کامپایل میشه ولی ممکن است در حین اجرا برنامه کرش کند یا با خطا کار کنه

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


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

سلام

استرینگ مشخص کننده نوع داده هست اگه اونو ننویسین و برنامه به مشکل بخوره برنامه بدون مشکل کامپایل میشه ولی ممکن است در حین اجرا برنامه کرش کند یا با خطا کار کنه

ممنون

یه سوال داشتم

برای یادگیری خواستم یه GridView رو مشخص کنم و با زدن هر کدوم، شماره ی اون رو در Text View نمایش بدم ولی نمی دونم چرا فورس کلوز می ده؟

package com.sadegh.gridview;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.GridView;
import android.widget.TextView;

public class MainActivity extends Activity {
TextView SelectedItem;
GridView gridView;
String[] items={
		"1", "2", "3", "4",
		"5", "6", "7", "8",
		"9", "10", "11", "12",
		"13", "14", "15", "16",
		"17", "18", "19", "20",
		"21", "22", "23", "24" };

ArrayAdapter myAdapt = new ArrayAdapter(this, android.R.layout.simple_list_item_1, items);
OnItemClickListener ListenItem = new OnItemClickListener() {

	@Override
	public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
			long arg3) {
		SelectedItem.setText(items[arg2]);

	}

};

   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);

       SelectedItem = (TextView) findViewById(R.id.textView1);
       gridView = (GridView) findViewById(R.id.gridView1);

       gridView.setAdapter(myAdapt);
       gridView.setOnItemClickListener(ListenItem);
   }

ممنون از راهنمایی تون

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


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

دوست عزیز دیباگ کردی؟ ببین مقدار arg2 چنده.یه نکته دیگه تکست ویو رو رشته بریز توش

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


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

دوست عزیز دیباگ کردی؟ ببین مقدار arg2 چنده.یه نکته دیگه تکست ویو رو رشته بریز توش

توی امولاتور اجرا نمی شه و فورس کلوز می ده.

ُitems رو هم در ابتدای برنامه تعریف کردم از نوع String که با items[مثلا یه عددی] باید فراخوانی بشه... درسته؟

داخل اونجا هم arg2 مقدار عدد موقعیت گریدویو رو بر می گردونه فکر کنم...

لطفا راهنمایی کنید که اصلا راه درستی هست این کار ؟

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


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

خب شما فقط مقدار arg2 رو  لازم دارین اونجایی که دارن ست میکنین توی تکست ویو یه جفت کوتیشن خالی بذارین + arg2 کنین

اینجوری

[shcode=java]""+arg2[/shcode]

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


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

خب شما فقط مقدار arg2 رو  لازم دارین اونجایی که دارن ست میکنین توی تکست ویو یه جفت کوتیشن خالی بذارین + arg2 کنین

اینجوری

[shcode=java]""+arg2[/shcode]

بله. این کار رو کردم ولی بازم فورس کلوز می ده...(فرقی با حالت قبلی نمی کنه فقط کد نویسی کمتر می شه)

نمی دونم مشکل کجاست

اگه مقدور هست می شه پروژه رو یه نگاهی بندازین...(ممنون)

GridView.zip

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


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

برای اینکه بهتر متوجه بشید فیلم زیر را که آپلود کردم نگاه کنید:

چون حداکثر اپلود 3 مگ است به 3 پارت تبدیلش کردم

Adapters :

پارت 1

پارت 2

پارت 3

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


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

یکم کدتونو عوض کردم.قبل on Create فقط متغیر ها و مقداردهی ها قرار میگیرن. کد منو با کد خودتون مقایسه کنین.

[shcode=java]package com.sadegh.gridview;

import android.app.Activity;

import android.os.Bundle;

import android.view.Menu;

import android.view.View;

import android.widget.AdapterView;

import android.widget.AdapterView.OnItemClickListener;

import android.widget.ArrayAdapter;

import android.widget.GridView;

import android.widget.TextView;

import android.widget.Toast;

public class MainActivity extends Activity {

    TextView SelectedItem;

    GridView gridView;

    String[] items={

            "1", "2", "3", "4",

            "5", "6", "7", "8",

            "9", "10", "11", "12",

            "13", "14", "15", "16",

            "17", "18", "19", "20",

            "21", "22", "23", "24" };

    OnItemClickListener ListenItem;

    ArrayAdapter myAdapt ;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

       

        SelectedItem = (TextView) findViewById(R.id.textView1);

        gridView = (GridView) findViewById(R.id.gridView1);

        myAdapt = new ArrayAdapter(this, android.R.layout.simple_list_item_1, items);

        gridView.setAdapter(myAdapt);

        gridView.setOnItemClickListener(new OnItemClickListener() {

             

            @Override

            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3)

            {

                // TODO Auto-generated method stub

   

                SelectedItem.setText(myAdapt.getItem(arg2)+"");

                Toast.makeText(getBaseContext(), myAdapt.getItem(arg2),

                        Toast.LENGTH_SHORT).show();

            }

        });

    }

    @Override

    public boolean onCreateOptionsMenu(Menu menu) {

        // Inflate the menu; this adds items to the action bar if it is present.

        getMenuInflater().inflate(R.menu.main, menu);

        return true;

    }

   

}

[/shcode]

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


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

یکم کدتونو عوض کردم.قبل on Create فقط متغیر ها و مقداردهی ها قرار میگیرن. کد منو با کد خودتون مقایسه کنین.

[shcode=java]package com.sadegh.gridview;

import android.app.Activity;

import android.os.Bundle;

import android.view.Menu;

import android.view.View;

import android.widget.AdapterView;

import android.widget.AdapterView.OnItemClickListener;

import android.widget.ArrayAdapter;

import android.widget.GridView;

import android.widget.TextView;

import android.widget.Toast;

public class MainActivity extends Activity {

    TextView SelectedItem;

    GridView gridView;

    String[] items={

            "1", "2", "3", "4",

            "5", "6", "7", "8",

            "9", "10", "11", "12",

            "13", "14", "15", "16",

            "17", "18", "19", "20",

            "21", "22", "23", "24" };

    OnItemClickListener ListenItem;

    ArrayAdapter myAdapt ;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

       

        SelectedItem = (TextView) findViewById(R.id.textView1);

        gridView = (GridView) findViewById(R.id.gridView1);

        myAdapt = new ArrayAdapter(this, android.R.layout.simple_list_item_1, items);

        gridView.setAdapter(myAdapt);

        gridView.setOnItemClickListener(new OnItemClickListener() {

             

            @Override

            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3)

            {

                // TODO Auto-generated method stub

   

                SelectedItem.setText(myAdapt.getItem(arg2)+"");

                Toast.makeText(getBaseContext(), myAdapt.getItem(arg2),

                        Toast.LENGTH_SHORT).show();

            }

        });

    }

    @Override

    public boolean onCreateOptionsMenu(Menu menu) {

        // Inflate the menu; this adds items to the action bar if it is present.

        getMenuInflater().inflate(R.menu.main, menu);

        return true;

    }

   

}

[/shcode]

خیلی ممنون

حل شد

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


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

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

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

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

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


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

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

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


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