بستن منو
۴۶۸
تعداد کلیدهای این موضوع
لیست همه کلیدهای این موضوع
مباحث اولیه برای آشنایی با برنامه نویسی اندروید
28
کار با Activity ها ، در برنامه نویسی اندروید
21
طراحی فایل های xml متناظر با Activity ها و ... (لایه گرافیکی Activity ها و ...)، در برنامه نویسی اندروید
11
کار با برنامه Eclipse (یا همان ADT Bundle)، در برنامه نویسی اندروید
11
خطاهای رایج در برنامه Eclipse و در برنامه نویسی اندروید
10
کار با برنامه Android Studio ، در برنامه نویسی اندروید
9
خطاهای رایج در برنامه Android Studio و در برنامه نویسی اندروید
3
تبدیل متغیرها و سایر تبدیل ها، در برنامه نویسی اندروید
9
نمایش عکس و کار با ImageView ، در برنامه نویسی اندروید
22
نمایش متن و کار با رشته ها (strings) و TextView ، در برنامه نویسی اندروید
38
ساخت دکمه (Button) ، در برنامه نویسی اندروید
7
ساخت لیست (فهرست) با ListView ، در برنامه نویسی اندروید
12
ساخت EditText، در برنامه نویسی اندروید
6
مجموعه ویدئوهای آموزش طراحی متریال (Material Design)، در برنامه نویسی اندروید
12
طراحی متریال (Material Design)، در برنامه نویسی اندروید
3
پخش موسیقی، در برنامه نویسی اندروید
5
نمایش انیمیشن، در برنامه نویسی اندروید
3
تغییر ویژگی های کلی برنامه اندروید
3
ذخیره اطلاعات با SharedPreferences ، در برنامه نویسی اندروید
2
پایگاه داده (SQLite Database)، در برنامه نویسی اندروید
11
تبادل اطلاعات بین برنامه اندروید و سرور اینترنتی (اینترنت)، در برنامه نویسی اندروید
28
نمایش یک صفحه اینترنتی یا کدهای HTML (کار با WebView) و ساخت لینک، در برنامه نویسی اندروید
8
حلقه ها (for و while و ...)، در برنامه نویسی اندروید
2
نمایش پیام به کاربر (Dialog و AlertDialog و Toast و Notification و ...)، در برنامه نویسی اندروید
11
ویژگی های صفحه نمایش و چرخش آن، در برنامه نویسی اندروید
10
به دست آوردن ویژگی های کلی برنامه اندروید، در برنامه نویسی اندروید
4
به دست آوردن ویژگی های گوشی کاربر، در برنامه نویسی اندروید
5
بازی سازی، در برنامه نویسی اندروید
1
به اشتراک گذاری (share)، در برنامه نویسی اندروید
5
کار با فایل ها و فولدرها در حافظه خارجی (External Storage)، در برنامه نویسی اندروید
15
کار با پوشه های raw و assets ، در برنامه نویسی اندروید
2
عملیات های ریاضی در برنامه نویسی اندروید
12
کار با دوربین (camera) در برنامه نویسی اندروید
3
کار با action bar ، در برنامه نویسی اندروید
4
کار با کلاس ها (class) ، در برنامه نویسی اندروید
4
کار با package ها ، در برنامه نویسی اندروید
2
نرم افزارهای شبیه ساز برای اجرای برنامه های اندروید بر روی سیستم عامل کامپیوتر (مثل ویندوز)
2
امنیت در برنامه نویسی اندروید
1
Thread ها در برنامه نویسی اندروید
3
سرویس ها (Service) در برنامه نویسی اندروید
9
تاریخ و زمان و تمامی موارد مرتبط با زمان (عملیات های زمان بندی شده و ...)، در برنامه نویسی اندروید
9
AsyncTask در برنامه نویسی اندروید
2
آرایه ها (Arrays)، در برنامه نویسی اندروید
3
لیست آرایه ای (ArrayList)، در برنامه نویسی اندروید
6
رنگ ها (Colors)، در برنامه نویسی اندروید
3
Fragment ها و Tab بندی، در برنامه نویسی اندروید
8
معرفی کتابخانه ها (Libraries)، در برنامه نویسی اندروید
1
ساخت ProgressDialog یا ProgressBar برای نمایش میزان پیشرفت اجرای یک سری عملیات، در برنامه نویسی اندروید
3
نسخه اندروید (Android version) و API level (نسخه API) ، در برنامه نویسی اندروید
1
لرزاندن گوشی (vibrate)، در برنامه نویسی اندروید
2
پرداخت درون برنامه ای، در برنامه نویسی اندروید
1
پروژه های اندروید Open Source کاربران کلیدستان
15
فروشگاه اندروید کلیدستان
1
ساخت امکانات جانبی (جستجو، لیست علاقه مندی، لوگو، منو و ...) برای برنامه اندروید
9
مباحث عمومی در برنامه نویسی اندروید
47
×

دانلود فروشگاه اندروید کلیدستان

843

نویسنده

علیرضا گلمکانی ( admin )

شماره کلید
دسته کلید - دسته بندی

ساخت یک ListView سفارشی (Custom ListView) شامل چندین عنصر در هر ردیف (row) از ListView و با قابلیت رفتن به Activity جدید پس از اشاره کاربر بر روی هر ردیف و ارسال اطلاعات بر اساس ردیف انتخاب شده به Activity مقصد، در برنامه نویسی اندروید

در این مبحث قصد داریم که یک برنامه اندروید شامل یک ListView سفارشی بسازیم که در آن، اگر کاربر بر روی یک ردیف (row - item) از ListView اشاره کند، یک سری اطلاعات بر اساس آن ردیف از ListView به یک Activity ارسال شود (یعنی Activity اجرا شده و اطلاعاتی را بر اساس انتخاب کاربر از میان item های ListView ، دریافت کند).

فایل پروژه اندروید و همچنین فایل apk ساخته شده از آن را می توانید در انتهای مبحث، دانلود کنید و سپس بر اساس آنها، توضیحات بنده را بخوانید و بخش های مختلف آن را بررسی کنید.

ساختار برنامه اندروید به این صورت است که ListView با تعداد 20 ردیف (row - item) داریم که در هر ردیف آن، 4 عنصر وجود دارد (2 تا TextView و 2 تا ImageView). یکی از ImageView ها دارای عکس ثابت و تکراری در تمامی item ها است ولی یک ImageView دیگر، عکسی متفاوت در هر item خواهد داشت. همچنین، یک TextView دارای متنی ثابت در همه item ها است، ولی یک TextView دیگر، در هر item ، متنی متفاوت را خواهد داشت. در واقع با این انتخاب خواسته ایم نمایش بدهیم که چگونه می توانیم عناصری با منبع یکسان و همچنین، عناصری با منبع غیر یکسان، در item های ListView داشته باشیم.

ساخت یک ListView سفارشی (Custom ListView) شامل چندین عنصر در هر ردیف (row) از ListView و با قابلیت رفتن به Activity جدید پس از اشاره کاربر بر روی هر ردیف و ارسال اطلاعات بر اساس ردیف انتخاب شده به Activity مقصد، در برنامه نویسی اندروید

پس از اشاره بر روی یک item دلخواه از ListView ، وارد یک Activity دیگر می شویم که در آن Activity ، پیامی نمایش داده می شود که شماره item انتخاب شده در ListView را اعلام کرده است (زیرا این شماره را به آن Activity ارسال می کنیم) :

ساخت یک ListView سفارشی (Custom ListView) شامل چندین عنصر در هر ردیف (row) از ListView و با قابلیت رفتن به Activity جدید پس از اشاره کاربر بر روی هر ردیف و ارسال اطلاعات بر اساس ردیف انتخاب شده به Activity مقصد، در برنامه نویسی اندروید

این پروژه اندروید، نیاز به تعدادی عکس دارد، یکی به عنوان عکس پس زمینه Activity مربوط به نمایش Listview ، یکی برای نمایش در آن ImageView که عکس آن در تمامی ردیف های ListView ثابت است و 20 تای دیگر هم برای نمایش در ImageView با عکس متغیر در 20 ردیف (row - item) مربوط به ListView . تمامی این عکس ها را در پوشه drawable-hdpi از پروزه اندروید، کپی کرده ایم :

ساخت یک ListView سفارشی (Custom ListView) شامل چندین عنصر در هر ردیف (row) از ListView و با قابلیت رفتن به Activity جدید پس از اشاره کاربر بر روی هر ردیف و ارسال اطلاعات بر اساس ردیف انتخاب شده به Activity مقصد، در برنامه نویسی اندروید

همچنین به تعدادی رشته (متن - string) نیز برای پروژه اندروید نیاز داریم (مثلا برای متنی که باید در هر ردیف از Listview نمایش داده شود) که آنها را در فایل strings.xml از پروژه اندروید تعریف کرده ایم :

ساخت یک ListView سفارشی (Custom ListView) شامل چندین عنصر در هر ردیف (row) از ListView و با قابلیت رفتن به Activity جدید پس از اشاره کاربر بر روی هر ردیف و ارسال اطلاعات بر اساس ردیف انتخاب شده به Activity مقصد، در برنامه نویسی اندروید

بنابراین کدهای فایل strings.xml به صورت زیر خواهد بود :


<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">CustomListView</string>
    <string name="action_settings">Settings</string>
    <string name="hello_world">Hello world!</string>
    <string name="title_activity_second">SecondActivity</string>
    <string name="kelidestan">کلیدستان</string>
    <string name="string_key_1">کلید شماره 1</string>
    <string name="string_key_2">کلید شماره 2</string>
    <string name="string_key_3">کلید شماره 3</string>
    <string name="string_key_4">کلید شماره 4</string>
    <string name="string_key_5">کلید شماره 5</string>
    <string name="string_key_6">کلید شماره 6</string>
    <string name="string_key_7">کلید شماره 7</string>
    <string name="string_key_8">کلید شماره 8</string>
    <string name="string_key_9">کلید شماره 9</string>
    <string name="string_key_10">کلید شماره 10</string>
    <string name="string_key_11">کلید شماره 11</string>
    <string name="string_key_12">کلید شماره 12</string>
    <string name="string_key_13">کلید شماره 13</string>
    <string name="string_key_14">کلید شماره 14</string>
    <string name="string_key_15">کلید شماره 15</string>
    <string name="string_key_16">کلید شماره 16</string>
    <string name="string_key_17">کلید شماره 17</string>
    <string name="string_key_18">کلید شماره 18</string>
    <string name="string_key_19">کلید شماره 19</string>
    <string name="string_key_20">کلید شماره 20</string>

</resources>

ساختار پروژه اندروید به صورت زیر می باشد (Activity ها و فایل های xml را نمایش داده ایم) :

ساخت یک ListView سفارشی (Custom ListView) شامل چندین عنصر در هر ردیف (row) از ListView و با قابلیت رفتن به Activity جدید پس از اشاره کاربر بر روی هر ردیف و ارسال اطلاعات بر اساس ردیف انتخاب شده به Activity مقصد، در برنامه نویسی اندروید

نام پروژه اندروید را برابر CustomListView انتخاب کرده ایم، همچنین نام package برنامه اندروید را برابر com.kelidetan.customlistview در نظر گرفته ایم. نام Activity اصلی برنامه اندروید، MainActivity.java می باشد و یک Activity هم با نام SecondActivity.java داریم. ListView در MainActivity نمایش داده می شود و اگر کاربر بر روی یکی از ردیف های (row - item) ListView اشاره کند، آنگاه وارد SecondActivity می شود.

فایل activity_main.xml ، لایه گرافیکی متناظر برای MainActivity را تعیین می کند و فایل activity_second.xml هم مربوط به لایه گرافیکی متناظر برای SecondActivity است. در فایل list_item.xml ، لایه گرافیکی متناظر برای هر ردیف ListView تعریف شده است. یعنی در این فایل، ساختار کلی هر ردیف (row - item) از ListView را توصیف می کنیم تا برنامه اندروید بداند که عناصر هر ردیف، چگونه باید چیده شوند.

بنابراین نکته مهم در ListView این است که ما ساختار کلی هر ردیف (row - item) از ListView را در یک فایل xml تعریف می کنیم. مثلا در این ListView ، چون 4 عنصر داریم، بنابراین یک فایل xml با نام list_item.xml ساخته ایم که در آن شیوه قرارگیری این 4 عنصر تعریف شده است. این فایل در پوشه layout از پروژه اندروید قرار می گیرد. بنابراین اگر بخواهیم موقعیت عناصر در هر ردیف از ListView را تغییر بدهیم، تنها کافی است که این فایل را ویرایش کنیم :

ساخت یک ListView سفارشی (Custom ListView) شامل چندین عنصر در هر ردیف (row) از ListView و با قابلیت رفتن به Activity جدید پس از اشاره کاربر بر روی هر ردیف و ارسال اطلاعات بر اساس ردیف انتخاب شده به Activity مقصد، در برنامه نویسی اندروید

کدهای فایل list_item.xml را به صورت زیر می نویسیم :


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="10dp"
    android:orientation="vertical" >
   
    <LinearLayout android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >
       
        <TextView
            android:id="@+id/textView1"
            android:layout_width="80dp"
            android:layout_height="wrap_content"
            android:padding="5dp"
            android:textSize="15sp"
            android:text="Text_1" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="80dp"
            android:layout_height="wrap_content"
            android:padding="5dp"
            android:textSize="15sp"
            android:text="@string/kelidestan" />
       
        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:padding="5dp"
            android:layout_gravity="right"
            android:src="@drawable/kelidestan" />

        <ImageView
            android:id="@+id/imageView2"
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:padding="5dp"
            android:layout_gravity="right"
            android:src="@drawable/kelidestan" />
   
    </LinearLayout>

</LinearLayout>

همان طور که مشاهده می کنید، برای هر ردیف (row - item) از ListView ، دو TextView برای نمایش متن و دو ImageView برای نمایش عکس تعریف کرده ایم. اگر یادتان باشد، گفتیم که یکی از متن ها ثابت و دیگری متغیر خواهد بود و همچنین یکی از عکس ها ثابت و دیگری متغیر خواهد بود. اگر به کدها نگاه کنید، مشاهده خواهید کرد که برای هر 4 عنصر، منابعی (متن یا عکس) را تعیین کرده ایم. بنابراین همان دو موردی که قصد داشتیم ثابت باشند را در همینجا مشخص کرده ایم که چه چیزی در آنها نمایش داده شود و دیگر نیازی به تغییر دادن آنها با کدهای java در Activity نخواهد بود. اما دو تای دیگر که قرار است در هر ردیف دارای مقدار (متن یا عکس) متفاوتی باشند را بعدا در خود کدهای java در Activity تغییر خواهیم داد. شاید این سوال برای شما پیش بیاید که خوب چرا دو موردی که قرار است متغیر باشند را مقدار دهی (متن یا عکس) کرده ایم، بلکه هیچ منبعی برای آن تعیین نمی کردیم تا بعدا منبع آنها را توسط کدهای java تعیین کنیم، پاسخ این است که چون ما معمولا نگاهی هم به ظاهر گرافیکی فایل xml می اندازیم، بنابراین یک مقدار (متن یا عکس) برای آنها تعیین می کنیم تا نحوه چیدمان آنها در کل صفحه را ببینم، بعدا چون با اجرای کدهای java ، منبع این عناصر تغییر داده می شود، بنابراین کاربر هیچ وقت این منابع (متن یا عکس) پیش فرض را که در فایل xml تعریف کرده ایم، نخواهد دید.

بنده خیلی وسواس برای تنظیم چیدمان عنصرها در هر ردیف نداشته ام و در صورت تمایل، می توانید آنها را مطابق میل خود تغییر بدهید (همچنین اگر این مبحث را تا انتها خواندید، بعدا بد نیست که نگاهی به کلید شماره 239 بیندازید که شما را راهنمایی می کند که چگونه تعدادی فایل xml برای صفحه نمایش های با اندازه مختلف بسازید تا برنامه شما، در همه گوشی های اندروید با صفحه نمایش متفاوت، به طور یکسان نمایش داده شود).

ظاهر گرافیکی فایل list_item.xml به صورت زیر خواهد بود :

ساخت یک ListView سفارشی (Custom ListView) شامل چندین عنصر در هر ردیف (row) از ListView و با قابلیت رفتن به Activity جدید پس از اشاره کاربر بر روی هر ردیف و ارسال اطلاعات بر اساس ردیف انتخاب شده به Activity مقصد، در برنامه نویسی اندروید

اکنون به سراغ فایل activity_main.xml که فایل xml متناظر برای Activity اصلی برنامه (با نام MainActivity.java) است می رویم که قرار است ListView در آن نمایش داده شود :

ساخت یک ListView سفارشی (Custom ListView) شامل چندین عنصر در هر ردیف (row) از ListView و با قابلیت رفتن به Activity جدید پس از اشاره کاربر بر روی هر ردیف و ارسال اطلاعات بر اساس ردیف انتخاب شده به Activity مقصد، در برنامه نویسی اندروید

کدهای فایل activity_main.xml را به صورت زیر می نویسیم :


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/background"
    android:orientation="vertical" >

    <ListView
        android:id="@android:id/list"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />
     
</LinearLayout>

مشاهده می کنید که یک عنصر ListView برای آن تعریف کرده ایم و همچنین یک عکس با نام background از پوشه های drawable را به عنوان پس زمینه Activity در نظر گرفته ایم. ظاهر گرافیکی فایل activity_main.xml به صورت زیر می باشد :

ساخت یک ListView سفارشی (Custom ListView) شامل چندین عنصر در هر ردیف (row) از ListView و با قابلیت رفتن به Activity جدید پس از اشاره کاربر بر روی هر ردیف و ارسال اطلاعات بر اساس ردیف انتخاب شده به Activity مقصد، در برنامه نویسی اندروید

اکنون فایل activity_second.xml را بررسی می کنیم :

ساخت یک ListView سفارشی (Custom ListView) شامل چندین عنصر در هر ردیف (row) از ListView و با قابلیت رفتن به Activity جدید پس از اشاره کاربر بر روی هر ردیف و ارسال اطلاعات بر اساس ردیف انتخاب شده به Activity مقصد، در برنامه نویسی اندروید

فایل activity_second.xml ، فایل xml متناظر برای Acticity با نام SecondActivity.java می باشد. در Activity مورد نظر قرار است که در یک TextView ، به کاربر نمایش بدهیم که شماره item ای از ListView که بر روی آن اشاره کرده است، چند بوده (یعنی شماره item (ردیف) از Activity اصلی برنامه اندروید به این Activity ارسال می شود و در این Activity به کاربر نمایش داده خواهد شد). بنابراین در فایل activity_second.xml ، تنها باید یک TextView داشته باشیم. پس کدهای فایل activity_second.xml را به صورت زیر می نویسیم :


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".SecondActivity" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="20sp"
        android:text="@string/hello_world" />

</RelativeLayout>

ظاهر گرافیکی فایل activity_second.xml به صورت زیر می باشد :

ساخت یک ListView سفارشی (Custom ListView) شامل چندین عنصر در هر ردیف (row) از ListView و با قابلیت رفتن به Activity جدید پس از اشاره کاربر بر روی هر ردیف و ارسال اطلاعات بر اساس ردیف انتخاب شده به Activity مقصد، در برنامه نویسی اندروید

اکنون باید به سراغ Activity ها برویم و کدهای java مربوط به آنها را بنویسیم. همان طور که گفتیم، Activity اصلی برنامه اندروید دارای نام MainActivity.java می باشد :

ساخت یک ListView سفارشی (Custom ListView) شامل چندین عنصر در هر ردیف (row) از ListView و با قابلیت رفتن به Activity جدید پس از اشاره کاربر بر روی هر ردیف و ارسال اطلاعات بر اساس ردیف انتخاب شده به Activity مقصد، در برنامه نویسی اندروید

کدهای فایل MainActivity.java را به صورت زیر می نویسیم :


package com.kelidetan.customlistview;

import android.app.ListActivity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;

public class MainActivity  extends ListActivity {
       
        public ListView lv;
        public String number_of_keys;
        public String[] my_items = {"key_1",
                                      "key_2",
                                      "key_3",
                                      "key_4",
                                      "key_5",
                                      "key_6",
                                      "key_7",
                                      "key_8",
                                      "key_9",
                                      "key_10",
                                      "key_11",
                                      "key_12",
                                      "key_13",
                                      "key_14",
                                      "key_15",
                                      "key_16",
                                      "key_17",
                                      "key_18",
                                      "key_19",
                                      "key_20"
                                             };

        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);
               
                setListAdapter(new MyAdapter(this,
                                       android.R.layout.simple_list_item_1,
                                       R.id.textView1,
                                       my_items));     
               
                lv = getListView();
                lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> parent, final View view,
                int position, long id) {                       
                        Intent i = new Intent(getApplicationContext(), SecondActivity.class);
                        number_of_keys = String.valueOf(position+1);
                        i.putExtra("key_number", number_of_keys);
                        startActivity(i);      
            }

        });
        }

       
        private class MyAdapter extends ArrayAdapter<String>{

                public MyAdapter(Context context, int resource, int textViewResourceId,
                                String[] strings) {
                        super(context, resource, textViewResourceId, strings);
                        // TODO Auto-generated constructor stub
                }
               
                @Override
                public View getView(int position, View convertView, ViewGroup parent) {
                        LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                        View row = inflater.inflate(R.layout.list_item, parent, false);
                       
                        String stringName = "string_key_" + String.valueOf(position+1);
                        int string_res_ID = getResources().getIdentifier(stringName,"string",getPackageName());
                        String my_string = getResources().getString(string_res_ID);
                        TextView tv = (TextView) row.findViewById(R.id.textView1);
                        tv.setText(my_string);
                       
                        String imageName = "key_" + String.valueOf(position+1);
                        int image_res_ID = getResources().getIdentifier(imageName,"drawable",getPackageName());
                        ImageView iv = (ImageView) row.findViewById(R.id.imageView1);
                        iv.setImageResource(image_res_ID);
       
                        return row;
                }
               
               
        }
       

}

حال بخش های مختلف کدها را بررسی می کنیم :

کدهای زیر را ببینید :


public ListView lv;
        public String number_of_keys;
        public String[] my_items = {"key_1",
                                      "key_2",
                                      "key_3",
                                      "key_4",
                                      "key_5",
                                      "key_6",
                                      "key_7",
                                      "key_8",
                                      "key_9",
                                      "key_10",
                                      "key_11",
                                      "key_12",
                                      "key_13",
                                      "key_14",
                                      "key_15",
                                      "key_16",
                                      "key_17",
                                      "key_18",
                                      "key_19",
                                      "key_20"
                                             };

در کدهای بالا، یک ListView با نام lv تعریف کرده ایم و همچنین یک متغیر از نوع رشته (String) نیز با نام number_of_keys تعریف کرده ایم که شماره ردیفی (row - item) از ListView که بر روی آن اشاره شده، در آن ذخیره می شود. یک لیست آرایه ای (ArrayList) از نوع رشته (String) نیز با نام my_items تعریف کرده ایم که تعداد کل ردیف های ListView و همچنین متنی را برای هر یک از آنها تعریف می کند. اینکه این متن در ساختار خود ردیف ها (row - item) به کار برود یا نه، بستگی به خود شما دارد، ولی در کل با این لیست آرایه ای (ArrayList)، تعداد کل ردیف ها و همچنین متن متناظر با آنها را تعریف کرده ایم که در ادامه کدها، مورد استفاده قرار می گیرد.

بخشی از کدها در روش OnCreate نوشته شده اند و همان طور که می دانید، کدهایی که در روش OnCreate نوشته می شوند، به محض ورود به Activity ، اجرا خواهند شد. به چند خط زیر از کدها توجه کنید :


setListAdapter(new MyAdapter(this,
                                       android.R.layout.simple_list_item_1,
                                       R.id.textView1,
                                       my_items));     
               
                lv = getListView();

با روش setListAdapter ، یک Adapter را برای ListView تعیین کرده ایم که ردیف های (row - item) مربوط به ListView و ساختار آن را شکل می دهد (می سازد). تعیین Adapter بر اساس ساخت یک شیء (object) جدید از کلاس (class) با نام MyAdapter بوده است، این موضوع را از دو کلمه زیر می توانید متوجه شوید :


new MyAdapter

زیرا کلمه new برای ساخت یک شیء (object) از یک کلاس (class) به کار می رود. اگر به انتهای کدهای Activity توجه کنید، متوجه می شوید که کلاس MyAdapter را در انتهای کدهای Activity تعریف کرده ایم. کدهای کلاس MyAdapter را در آخر شرح خواهیم داد.

خط زیر از کدها را ببینید :


android.R.layout.simple_list_item_1

این عبارت، اشاره به یک فایل xml دارد که در android.R.layout وجود دارد و به عنوان یک فایل xml استاندارد، برای ساخت برخی از Listview ها (ردیف های آن) به کار می رود. در صورت جستجو در اینترنت، می توانید کدهای آن را مشاهده کنید ولی نیازی به این کار نیست و اگر فقط آن را به کار ببرید کافی است، زیرا ساختاری کاملا ساده دارد و مشکلی برای طراحی شما به وجود نمی آورد (در صورت دلخواه، می توان یک فایل xml خودتان بسازید و به آن ارجاع بدهید، ولی در کل، نیازی به این کار نیست).

عبارت R.id.textView1 اشاره به id یکی از Textview های تعریف شده در فایل list_item.xml دارد (همان فایلی که در آن، ساختار هر ردیف از Listview را تعیین کردیم). همچنین لیست آرایه ای my_items را هم ذکر کرده ایم که تعداد کل ردیف های Listview و همچنین متن متناظر با آنها را تعیین می کند.

اکنون چند خط زیر از کدها را در نظر بگیرید :


lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> parent, final View view,
                int position, long id) {                       
                        Intent i = new Intent(getApplicationContext(), SecondActivity.class);
                        number_of_keys = String.valueOf(position+1);
                        i.putExtra("key_number", number_of_keys);
                        startActivity(i);      
            }

        });

در کدهای فوق، با روش setOnItemClickListener تعیین کرده ایم که در صورت اشاره کاربر بر روی یکی از item های (ردیف های) ListView ، چه کدهایی اجرا شوند. بنابراین اگر کاربر بر روی یک ردیف (row - item) اشاره کند، کدهای زیر اجرا خواهد شد :


Intent i = new Intent(getApplicationContext(), SecondActivity.class);
number_of_keys = String.valueOf(position+1);
i.putExtra("key_number", number_of_keys);
startActivity(i);

در کدهای فوق، با استفاده از Intent ، کاربر را به Activity با نام SecondActivity منتقل می کنیم و همچنین با استفاده از روش putExtra ، یک مقدار را هم به SecondActivity ارسال می کنیم ( کلید شماره 236 ). مقداری که به SecondActivity ارسال می شود، همان شماره ردیفی (row - item) است که کاربر بر روی آن اشاره کرده و آن را بر اساس متغیر position به دست آورده ایم، زیرا متغیر position ، شماره ای متناسب با ردیف (row - item) اشاره شده بر روی آن را در خود ذخیره کرده است.

اکنون کدهای مربوط به کلاس MyAdapter را شرح می دهیم :


private class MyAdapter extends ArrayAdapter<String>{

                public MyAdapter(Context context, int resource, int textViewResourceId,
                                String[] strings) {
                        super(context, resource, textViewResourceId, strings);
                        // TODO Auto-generated constructor stub
                }
               
                @Override
                public View getView(int position, View convertView, ViewGroup parent) {
                        LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                        View row = inflater.inflate(R.layout.list_item, parent, false);
                       
                        String stringName = "string_key_" + String.valueOf(position+1);
                        int string_res_ID = getResources().getIdentifier(stringName,"string",getPackageName());
                        String my_string = getResources().getString(string_res_ID);
                        TextView tv = (TextView) row.findViewById(R.id.textView1);
                        tv.setText(my_string);
                       
                        String imageName = "key_" + String.valueOf(position+1);
                        int image_res_ID = getResources().getIdentifier(imageName,"drawable",getPackageName());
                        ImageView iv = (ImageView) row.findViewById(R.id.imageView1);
                        iv.setImageResource(image_res_ID);
       
                        return row;
                }
               
               
        }

همان طور که قبلا گفتیم، در این کدها، باید تغییرات مورد نظرمان برای ردیف های (row - item) مربوط به ListView را بنویسیم. یک TextView دارای متن ثابت است و یک ImageView هم دارای عکس ثابت می باشد و مقادیر (متن یا عکس) مربوط به آن دو را هم قبلا در کدهای xml ، تعیین کردیم. اکنون می ماند TextView با متن متغیر و همچنین ImageView با عکس متغیر.

برای TextView با متن متغیر، کدهای زیر نوشته شده است :


String stringName = "string_key_" + String.valueOf(position+1);
int string_res_ID = getResources().getIdentifier(stringName,"string",getPackageName());
String my_string = getResources().getString(string_res_ID);
TextView tv = (TextView) row.findViewById(R.id.textView1);
tv.setText(my_string);

شماره ذخیره شده در متغیر position ، متناسب با شماره ردیفی (row - item) از Listview است که بر روی آن اشاره شده است، بنابراین بر اساس مقدار ذخیره شده در متغیر position ، یک رشته تعریف شده در فایل strings.xml را فراخوانی کرده و در TextView با id برابر R.id.textView1 ، نمایش می دهیم ( کلید شماره 243 ).

نکته

یک نکته مهم را باید ذکر کنم و آن این است که برای شناسایی TextView ، عبارت زیر را نوشته ایم :


TextView tv = (TextView) row.findViewById(R.id.textView1);

همان طور که مشاهده می کنید، به جای findViewById که همیشه به کار می بردیم، این بار عبارت row.findViewById را نوشته ایم. اگر کلمه row حذف شود، با خطا روبرو خواهیم شد (برای شناسایی سایر عناصر تعریف شده در ردیف Listview نیز باید به همین صورت عمل کنیم).

برای ImagView با عکس متغیر، کدهای زیر نوشته شده است :


String imageName = "key_" + String.valueOf(position+1);
int image_res_ID = getResources().getIdentifier(imageName,"drawable",getPackageName());
ImageView iv = (ImageView) row.findViewById(R.id.imageView1);
iv.setImageResource(image_res_ID);

چون نام همه عکس ها با عبارت _key شروع می شود، بنابراین تنها شماره متناظر با ردیف اشاره شده را بر اساس مقدار ذخیره شده در position به دست می آوریم و به انتهای عبارت _key اضاف کرده و بر اساس نام به دست آمده، عکس مورد نظر را از پوشه های drawable فراخوانی کرده و در ImageView نمایش می دهیم ( کلید شماره 260 ).

اکنون باید کدهای فایل SecondActivity.java را شرح بدهیم که همان Activity است که پس از اشاره کاربر بر روی یک ردیف از ListView ، به آن منتقل می شود و شماره مربوط به ردیفی (row - item) که کاربر بر روی آن اشاره کرده، در آن Activity نمایش داده خواهد شد :

ساخت یک ListView سفارشی (Custom ListView) شامل چندین عنصر در هر ردیف (row) از ListView و با قابلیت رفتن به Activity جدید پس از اشاره کاربر بر روی هر ردیف و ارسال اطلاعات بر اساس ردیف انتخاب شده به Activity مقصد، در برنامه نویسی اندروید

کدهای فایل SecondActivity.java را به صورت زیر می نویسیم :


package com.kelidetan.customlistview;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class SecondActivity extends Activity {

        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_second);
               
                Bundle extras = getIntent().getExtras();
                if (extras != null) {
                     String my_key_number = extras.getString("key_number");
                     String my_message = "you pressed the item number " + my_key_number + " in ListView";
                     TextView tv = (TextView) findViewById(R.id.textView1);
                     tv.setText(my_message);
                }
        }


}

در روش onCreate ، کدهای زیر را نوشته ایم :


Bundle extras = getIntent().getExtras();
                if (extras != null) {
                     String my_key_number = extras.getString("key_number");
                     String my_message = "you pressed the item number " + my_key_number + " in ListView";
                     TextView tv = (TextView) findViewById(R.id.textView1);
                     tv.setText(my_message);
                }

با کدهای فوق تعیین کرده ایم که اگر یک مقدار با نام key_number به این Activity ارسال شد، آن مقدار را دریافت کرده و بر اساس آن، پیامی را در یک TextView نمایش بدهد.

ساخت پروژه اندروید، پایان یافت. نتیجه به صورت زیر می باشد :

ساخت یک ListView سفارشی (Custom ListView) شامل چندین عنصر در هر ردیف (row) از ListView و با قابلیت رفتن به Activity جدید پس از اشاره کاربر بر روی هر ردیف و ارسال اطلاعات بر اساس ردیف انتخاب شده به Activity مقصد، در برنامه نویسی اندروید

پس از اشاره بر روی یک item دلخواه از ListView ، وارد یک Activity دیگر می شویم که در آن Activity ، پیامی نمایش داده می شود که شماره item انتخاب شده در ListView را اعلام کرده است :

ساخت یک ListView سفارشی (Custom ListView) شامل چندین عنصر در هر ردیف (row) از ListView و با قابلیت رفتن به Activity جدید پس از اشاره کاربر بر روی هر ردیف و ارسال اطلاعات بر اساس ردیف انتخاب شده به Activity مقصد، در برنامه نویسی اندروید

فایل های پروژه اندروید را می توانید از لینک های زیر دریافت کنید :

کپی برداری از محتوای سایت کلیدستان، ممنوع بوده و پیگرد قانونی دارد. (تنها استفاده شخصی کاربر، مجاز است) (کپی برداری توسط سایر وب سایت ها = حرام) (بیشتر بدانید)

خوانده شد
مبحث بالا، مفید بود و سایت کلیدستان را دوست داشتم :
محبوب کردن این مبحث در گوگل :
اون چیزی که میخواستم نبود :
سوال دارم :
ارسال نظر :
نظرات 3 3 0
امین
۱۳۹۵/۰۶/۰۱
۱۲:۲۶

سلام. با تشکر از آموزش کامل و جامعتان ، تنها یک مشکل وجود داشت، این که ساخت فایل های dimens.xml و styles.xml را توضیح ندادید

hasansarak
۱۳۹۵/۰۸/۱۲
۱۲:۴۲

سلام دوستان
من با اجازتون تازه و به صورت خیلی آماتور شروع به کار با اندروید کردم.در ادامه روند یادگیری به مرحله لیست ویو رسیدم.همین پروژه آموزشی بالا رو دقیقا برای آشنایی با کلیات این روش پیاده کردم تو برنامم ولی متاسفانه خطایی دارم 

کد:
11-02 08:57:51.765 3994-3994/com.example.dyako.listview E/AndroidRuntime: FATAL EXCEPTION: main
                                                                         android.content.res.Resources$NotFoundException: String resource ID #0x0
                                                                             at android.content.res.Resources.getText(Resources.java:229)
                                                                             at android.content.res.Resources.getString(Resources.java:313)
                                                                             at com.example.dyako.listview.MainActivity$MyAdapter.getView(MainActivity.java:60)
                                                                             at android.widget.AbsListView.obtainView(AbsListView.java:2267)
                                                                             at android.widget.ListView.measureHeightOfChildren(ListView.java:1244)
                                                                             at android.widget.ListView.onMeasure(ListView.java:1156)
                                                                             at android.view.View.measure(View.java:15172)
                                                                             at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4814)
                                                                             at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1390)
                                                                             at android.widget.LinearLayout.measureVertical(LinearLayout.java:681)
                                                                             at android.widget.LinearLayout.onMeasure(LinearLayout.java:574)
                                                                             at android.view.View.measure(View.java:15172)
                                                                             at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4814)
                                                                             at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
                                                                             at android.view.View.measure(View.java:15172)
                                                                             at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4814)
                                                                             at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1390)
                                                                             at android.widget.LinearLayout.measureVertical(LinearLayout.java:681)
                                                                             at android.widget.LinearLayout.onMeasure(LinearLayout.java:574)
حالا این خطا مربوط میشه به این قسمت از کد زیر : 

String myString = getResources().getString(string_res_id);
کد:
String stringName = "key_"+String.valueOf(position+1);
           int string_res_id = getResources().getIdentifier(stringName,"string",getPackageName());
           String myString = getResources().getString(string_res_id);
           TextView tv = (TextView) row.findViewById(R.id.textView1);
           tv.setText(myString);

خیلی هم دنبال اشتباه احتمالیم گشتم ولی چیزی یافت نشد.میتونم از شما راهنمایی بخوام؟

bistoon7
۱۳۹۵/۱۰/۲۵
۱۹:۴۶

با سلام. ممنون از سایت بسیار خوبتون
اگه بخوایم اون عکس و متن های داخل هر ردیف رو قابل کلیک کنیم باید چیکار کنیم؟ مثلا اگه رو textView اول از ردیف سوم کلیک کنیم، یه متد خاصی اجرا بشه

*** نظر بدهید

دسترسی سریع

×

شماره کلید


کلید
×

شماره دسته کلید


دسته کلید
×

جستجو


جستجو

کلمات کلیدی

راهنمای کلمات کلیدی (کلاس ها، توابع، عناصر و ...) در برنامه نویسی اندروید، بر اساس حرف اول کلمه کلیدی :

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

developer.android.com

دسترسی به اطلاعات دامنه developer.android.com بر روی سایت کلیدستان (دور زدن تحریم گوگل) :

بستن منو
۴۶۳
تعداد کلیدهای این موضوع
لیست همه کلیدهای این موضوع
مجموعه ویدئوهای آموزشی برنامه نویسی اندروید - مجموعه Android Application Development - از thenewboston.com - بر اساس Eclipse (یا ADT Bundle)
200
مجموعه ویدئوهای آموزشی برنامه نویسی اندروید برای مبتدیان - مجموعه Android App Development for Beginners - از thenewboston.com - بر اساس Android Studio
77
مجموعه ویدئوهای آموزشی برنامه نویسی اندروید (Android) برای مبتدیان - مجموعه Android Tutorial for Beginners
107
مجموعه ویدئوهای آموزشی طراحی متریال (Material) در اندروید - مجموعه 5 Android Material Design Tutorial
59
مباحث اولیه برای آشنایی با برنامه نویسی اندروید
2
نمایش متن و کار با رشته ها (strings) و TextView ، در برنامه نویسی اندروید
6
ساخت دکمه (Button) ، در برنامه نویسی اندروید
0
ساخت لیست (فهرست) با ListView ، در برنامه نویسی اندروید
4
ذخیره اطلاعات با SharedPreferences ، در برنامه نویسی اندروید
1
پایگاه داده (SQLite Database)، در برنامه نویسی اندروید
3
نرم افزارهای شبیه ساز برای اجرای برنامه های اندروید بر روی سیستم عامل کامپیوتر (مثل ویندوز)
2
ساخت امکانات جانبی (جستجو، لیست علاقه مندی، لوگو، منو و ...) برای برنامه اندروید
1
مباحث عمومی در برنامه نویسی اندروید
1
بستن منو
۸۳
تعداد کلیدهای این موضوع
لیست همه کلیدهای این موضوع
دسترسی سریع به دسته کلیدها :

کار با Activity ها ، در برنامه نویسی اندروید طراحی فایل های xml متناظر با Activity ها و ... (لایه گرافیکی Activity ها و ...)، در برنامه نویسی اندروید عنصرهای گرافیکی مختلف، در برنامه نویسی اندروید نمایش عکس و کار بار ImageView ، در برنامه نویسی اندروید پردازش تصویر، در برنامه نویسی اندروید نمایش متن و کار با رشته ها (strings) و TextView ، در برنامه نویسی اندروید ساخت لیست (فهرست) با ListView ، در برنامه نویسی اندروید ساخت EditText، در برنامه نویسی اندروید کار با صدا و فایل های صوتی (پخش، ضبط و ...)، در برنامه نویسی اندروید نمایش انیمیشن (با متن یا عکس)، در برنامه نویسی اندروید گرافیک دو بعدی (2D) و سه بعدی (3D)، در برنامه نویسی اندروید بازی سازی، در برنامه نویسی اندروید به اشتراک گذاری (share)، در برنامه نویسی اندروید نمایش پیام به کاربر، در برنامه نویسی اندروید ویژگی های صفحه نمایش و چرخش آن، در برنامه نویسی اندروید عملیات های ریاضی در برنامه نویسی اندروید Fragment ها در برنامه نویسی اندروید Thread ها در برنامه نویسی اندروید سرویس ها (Service) در برنامه نویسی اندروید حسگرهای (سنسورهای) گوشی، در برنامه نویسی اندروید ساخت امکانات جانبی (جستجو، لیست علاقه مندی، لوگو، منو و ...) برای برنامه اندروید مباحث عمومی در برنامه نویسی اندروید
کار با Activity ها ، در برنامه نویسی اندروید
1
طراحی فایل های xml متناظر با Activity ها و ... (لایه گرافیکی Activity ها و ...)، در برنامه نویسی اندروید
5
عنصرهای گرافیکی مختلف، در برنامه نویسی اندروید
1
نمایش عکس و کار بار ImageView ، در برنامه نویسی اندروید
1
پردازش تصویر، در برنامه نویسی اندروید
1
نمایش متن و کار با رشته ها (strings) و TextView ، در برنامه نویسی اندروید
5
ساخت لیست (فهرست) با ListView ، در برنامه نویسی اندروید
2
ساخت EditText، در برنامه نویسی اندروید
1
کار با صدا و فایل های صوتی (پخش، ضبط و ...)، در برنامه نویسی اندروید
2
نمایش انیمیشن (با متن یا عکس)، در برنامه نویسی اندروید
3
گرافیک دو بعدی (2D) و سه بعدی (3D)، در برنامه نویسی اندروید
17
بازی سازی، در برنامه نویسی اندروید
16
به اشتراک گذاری (share)، در برنامه نویسی اندروید
1
نمایش پیام به کاربر، در برنامه نویسی اندروید
2
ویژگی های صفحه نمایش و چرخش آن، در برنامه نویسی اندروید
1
عملیات های ریاضی در برنامه نویسی اندروید
1
Fragment ها در برنامه نویسی اندروید
1
Thread ها در برنامه نویسی اندروید
2
سرویس ها (Service) در برنامه نویسی اندروید
1
حسگرهای (سنسورهای) گوشی، در برنامه نویسی اندروید
2
ساخت امکانات جانبی (جستجو، لیست علاقه مندی، لوگو، منو و ...) برای برنامه اندروید
1
مباحث عمومی در برنامه نویسی اندروید
16
بستن منو
۲۴
تعداد کلیدهای این موضوع
لیست همه کلیدهای این موضوع
مباحث اولیه برای آشنایی با برنامه نویسی java
14
انواع متغیرها و تبدیل متغیرها در java
2
رشته ها (string) در java
1
اعداد در java
4
مباحث عمومی در java
3
بستن منو
۵۳۵
تعداد کلیدهای این موضوع
لیست همه کلیدهای این موضوع
مجموعه ویدئوهای آموزشی برنامه نویسی Java برای مبتدیان - مجموعه Java (Beginner) Programming Tutorials - از thenewboston.com
87
مجموعه ویدئوهای آموزشی برنامه نویسی Java (سطح متوسط) - مجموعه Java (Intermediate) Tutorials - از thenewboston.com
59
مجموعه ویدئوهای آموزشی برنامه نویسی پایه Java برای مبتدیان، به همراه مثال - مجموعه Core Java Programming Video Tutorials for Absolute Beginners with Examples
40
مجموعه ویدئوهای آموزشی Java - مجموعه Learn Java
24
مجموعه ویدئوهای آموزشی طراحی GUI در Java ، با استفاده از JavaFX - مجموعه JavaFX Java GUI Design Tutorials - از thenewboston.com
35
مجموعه ویدئوهای آموزشی برنامه نویسی شیء گرا (Object Oriented Programming - OOPS) در Java ، برای مبتدیان - مجموعه Java Object Oriented Programming Video Tutorials for Beginners (OOPS)
12
مجموعه ویدئوهای آموزشی سریال سازی شیء (Serialization) در Java - مجموعه Serialization in Java
16
مجموعه ویدئوهای آموزشی برنامه نویسی بازی سه بعدی (3D) ، در Java - مجموعه 3D Game Programming in Java
39
مجموعه ویدئوهای آموزشی برنامه نویسی بازی در Java - مجموعه Game Programming
126
مجموعه ویدئوهای آموزشی توسعه بازی با استفاده از Java - مجموعه Java Game Development Tutorials - از thenewboston.com
36
مجموعه ویدئوهای آموزشی توسعه بازی در Java ، با استفاده از Slick - مجموعه Java Game Development with Slick - از thenewboston.com
21
مجموعه ویدئوهای آموزشی ساخت بازی Flappy Bird ، در Java - مجموعه Let's Make Flappy Bird
9
مجموعه ویدئوهای آموزشی برنامه نویسی چت شبکه (Network Chat) ، در Java - مجموعه Network Chat Programming
31
بستن منو
۲۶
تعداد کلیدهای این موضوع
لیست همه کلیدهای این موضوع
آموزش کامل یونیتی (Unity) (بازی سازی)
21
آموزش یونیتی (Unity) - سطح متوسط
2
پرداخت درون برنامه ای، در یونیتی (Unity)
1
یونیتی (Unity) و برنامه نویسی اندروید
1
واقعیت مجازی در یونیتی (Unity)
1
بستن منو
۱۶۰
تعداد کلیدهای این موضوع
لیست همه کلیدهای این موضوع
مجموعه ویدئوهای آموزشی توسعه اپلیکیشن با Xamarin (سطح مبتدی تا پیشرفته) - مجموعه Xamarin App Development from Beginner to Advanced
39
مجموعه ویدئوهای آموزشی Xamarin.Android - مجموعه Xamarin.Android Tutorials
85
مجموعه ویدئوهای آموزشی ساخت اپلیکیشن چند سکویی (Cross-platform)، با استفاده از Xamarin.Forms - مجموعه Cross Platform Apps with Xamarin Forms
36

فروشگاه های اندروید ایرانی

فروشگاه های ایرانی برنامه های اندروید که می توانید برنامه های اندروید خود را در آنها بفروش بگذارید (به ترتیب نام) :



*** در صورت تاسیس یک فروشگاه ایرانی جدید، به ما اطلاع بدهید تا در لیست بالا قرار داده شود.

آخرین ارسال های انجمن (در زمینه برنامه نویسی اندروید)

آخرین ارسال های انجمن (در زمینه برنامه نویسی اندروید)
موضوع تاریخ و زمان نویسنده آخرین ارسال تعداد پاسخ انجمن
جمع دو مقدار از دو Activity مختلف
امروز, ۱۰:۵۷ ق.ظ
talash
admin
1 مشکلات در برنامه نویسی اندروید
نمایش ندادن TextView
امروز, ۱۲:۴۹ ق.ظ
Amin1972
Amin1972
0 مشکلات در برنامه نویسی اندروید
درخواست سورس برنامه
۱۳۹۵/۱۲/۰۳, ۱۰:۲۰ ب.ظ
M.D
M.D
3 مشکلات در برنامه نویسی اندروید
هدایت کاربر به تلگرام
۱۳۹۵/۱۲/۰۳, ۰۲:۰۱ ب.ظ
Erfan95
s.saeid
2 برنامه نویسی اندروید
مشکل در خواندن json
۱۳۹۵/۱۲/۰۲, ۱۱:۱۹ ب.ظ
sajjadbsh
sajjadbsh
2 مشکلات در برنامه نویسی اندروید
target sdk
۱۳۹۵/۱۱/۲۸, ۱۰:۵۵ ب.ظ
Erfan95
s.saeid
3 مشکلات در برنامه نویسی اندروید
مشکل در appcompat.v7
۱۳۹۵/۱۱/۲۷, ۱۱:۲۰ ب.ظ
hamid1200
s.saeid
1 مشکلات در برنامه نویسی اندروید
کلیدهای میانبر در برنامه اکلیپس (Eclipse Shortcuts )
۱۳۹۵/۱۱/۲۷, ۱۱:۱۰ ب.ظ
s.saeid
s.saeid
8 سایت ها و منابع آموزش برنامه نویسی اندروید
سامانه حذف نظرات توهین آمیز - اینستا ربات
۱۳۹۵/۱۱/۲۶, ۱۱:۲۲ ب.ظ
irani_online
irani_online
0 برنامه نویسی اندروید
ذخیره متغیر و دریافت در اکتیویتی دیگر
۱۳۹۵/۱۱/۲۶, ۰۲:۱۶ ق.ظ
sami
Erfan95
1 مشکلات در برنامه نویسی اندروید
گرفتن اطلاعات در 2صفحه
۱۳۹۵/۱۱/۲۶, ۰۱:۵۸ ق.ظ
Erfan95
Erfan95
0 مشکلات در برنامه نویسی اندروید
مشکل در اجرای صفحه اکتیوتی پروژه
۱۳۹۵/۱۱/۲۵, ۱۱:۵۹ ب.ظ
esikley
esikley
0 مشکلات در برنامه نویسی اندروید
به روز رسانی اپلیکیشن
۱۳۹۵/۱۱/۲۵, ۱۱:۱۴ ب.ظ
Erfan95
msh
2 مشکلات در برنامه نویسی اندروید
مشکل در بروز رسانی برنامه و کار با aidl
۱۳۹۵/۱۱/۲۵, ۱۱:۰۴ ب.ظ
msh
msh
0 مشکلات در برنامه نویسی اندروید
جلو گیری از هک توسط لوکی پچر
۱۳۹۵/۱۱/۲۴, ۰۲:۵۱ ب.ظ
بنیامین خلیفه
hamidreza.geo
10 مشکلات در برنامه نویسی اندروید
ارسال پیامک یا تبلیغات
۱۳۹۵/۱۱/۲۳, ۰۲:۰۴ ب.ظ
Erfan95
Erfan95
0 مشکلات در برنامه نویسی اندروید
پخش آهنگ در پس زمینه برنامه با قابلیت خاموش و روشن شدن از قسمت تنظیمات
۱۳۹۵/۱۱/۲۲, ۰۴:۰۰ ق.ظ
all alone
all alone
5 پخش فایل های صوتی و تصویری، در برنامه نویسی اندروید
initialize دقیق چیه و به چه کاری میاد در اندروید؟
۱۳۹۵/۱۱/۲۰, ۰۹:۴۹ ب.ظ
عادل_رفیعی
عادل_رفیعی
0 مباحث عمومی در برنامه نویسی اندروید
تایپ فارسی
۱۳۹۵/۱۱/۲۰, ۱۲:۱۹ ب.ظ
mohammadhn
mohammadhn
0 برنامه نویسی اندروید
مشکل با ساخت اسلایدر
۱۳۹۵/۱۱/۲۰, ۱۲:۲۳ ق.ظ
dibdab
dibdab
0 مشکلات در برنامه نویسی اندروید
ادامه فعالیت کرنومتر بعد از بسته شدن برنامه(ضروری)
۱۳۹۵/۱۱/۱۹, ۱۰:۵۷ ب.ظ
Dev.Masoudi
admin
1 برنامه نویسی اندروید
حل مشکل شناخته نشدن دیوایس در اندروید استود برای تست
۱۳۹۵/۱۱/۱۹, ۰۸:۲۵ ب.ظ
Kiakia
Kiakia
0 مشکلات در برنامه نویسی اندروید
ساخت برنامه مشابه طاقچه
۱۳۹۵/۱۱/۱۸, ۰۳:۰۸ ب.ظ
shahramm
shahramm
1 مشکلات در برنامه نویسی اندروید
چک کردن آیا نام کاربری در دیتابس موجود است یا نه در php
۱۳۹۵/۱۱/۱۷, ۰۷:۴۱ ب.ظ
T.I.T
عادل_رفیعی
3 مشکلات در برنامه نویسی اندروید
خطا بعد از بارگزاری اطلاعات
۱۳۹۵/۱۱/۱۷, ۱۲:۲۴ ب.ظ
mahdi2001h
mahdi2001h
0 پایگاه داده SQLite در برنامه نویسی اندروید
مشاهده 1000 ارسال آخر انجمن (در زمینه برنامه نویسی اندروید)

آخرین کلیدهای غیررایگان

شما هم می توانید کلیدهای غیررایگان منتشر کنید (بیشتر بدانید)