رفتن به مطلب
انجمن اندروید ایران | آموزش برنامه نویسی اندروید و موبایل
  • android.png.1fab383bc8500cd93127cebc65b1dcab.png

پست های پیشنهاد شده

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

من به تازگی برنامه نویسی اندروید رو شروع کردم. در حین مطالعه درباره ی 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 چنده.یه نکته دیگه تکست ویو رو رشته بریز توش

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

ُ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]

خیلی ممنون

حل شد

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

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...