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

نمایش لیست ویو سفارشی


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

با سلام

من 24 ساعته کامل کل نت ایران رو گشتم و هیچ چیز به درد بخوری پیدا نکردم

حتی تو همین انجمن گشتم برای عکس گذاشتن برای لیست ویو اما چیز درستی پیدا نکردم

خواهش میکنم سر حوصله و کامل کامل جواب بدین

خواهش میکنم

من کتابی دارم می سازم صفحه اولش 3 تا دکمه داره

وقتی روی دکمه 1 بزنی میره صفحه بعد (اسمشو بزاریم moghadame)

خب من یه لیست ویو ساختم داخلش

الان میخوام برای هر سطر یه عکس بزارم

هیچ جایی پیدا نکردم که روان و اسان بگه

خب من دقیقا باید چکار کنم

؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟/

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

لینک ندین خواهشا

خیلی فوری هست

اینم محتویات فایل moghadame.java و moghadame.xml

package com.example.trianingclashofclans;

import android.app.ListActivity;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.widget.ArrayAdapter;

import android.widget.ListView;

import android.widget.Toast;

public class moghadame extends ListActivity {

    String[] str = {"clash of clans","????? ?????? ?????","??? ??","?????  ? ???? ?? |??? ","?????","??? ????? ????"};

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.moghadame);

 

        ArrayAdapter adapter = new ArrayAdapter(this,

                android.R.layout.simple_list_item_1, str);

 

        setListAdapter(adapter);

 

    }

    

    @Override

    protected void onListItemClick(ListView l, View v, int position, long id) {

        // TODO Auto-generated method stub

        super.onListItemClick(l, v, position, id);

        Toast.makeText(this, str[position] +" entekhabe shoma bud!", Toast.LENGTH_SHORT).show();

        switch (position) {

        

        case 1:

         startActivity(new Intent (moghadame.this, clash.class));

         break;

        

        }

     

    }

     

    }

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    tools:context=".MainActivity" >

 

   

        android:id="@android:id/list"

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:layout_alignParentLeft="true"

        android:layout_alignParentTop="true" >

   

 

خواهش میکنم اگه میشه خودتون اینو سفارشی کنین برام

خواهش میکنم کامل توضیح بدین

خیلی فوری هست

خدا خیرتون بده

ممنون

عنوان  پست ویرایش شد

Farzad Sarseify

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

سلام

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

آموزش لیست ویو سفارشی در انجمن رو هم مطالعه بفرمایید

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

اصلا اون اموزش به درد نمیخوره و اصلا فکر نمیکنم کاری که من میخوام بکنم رو بکنه


و همچنین اون نیاز به دیتابیس داره

و من نمیخوام با دیتا بیس بسازم

همینطور معمولی میخوام برای لیست ویو عکس بزارم

توی هیچ انجمنی (30 تا انجمن گشتم و پرسیدم)کسی جواب درست ندااد بهم

این روش....

واقعا کسی نمیتونه؟

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

اره دقیقا 4 صفحه رو خوندم

اما هیچی که هیچی

خواهش میکنم خودتون همین جا برام بنویسید

خواهش میکنم

من میخوام درون moghadame.java و moghadame.xml 

میخوام با اینا لیست ویو سفارشی یا همون گذاشتن عکس در هر سطر بزارم

خواهش کمک کنید

هیچ جای نت پیدا نکردم

خواهش میکنم....

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

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

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

عزیزم من مبتدی هستم

متوجه نمیشم

میشه یه مثال کدی بزنید؟و این کد رو کجا وارد کنم؟

یه مثال ساده بزنید

ممنوننم

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

برای شما یک نمونه ساده لیست سفارشی قرار میدهم که از دیتابیس استفاده نشده باشد و تصویر هم درون هر سطر قرار داشته باشد

ابتدا یک تابع برای ایجاد کردن ایتم های لیست(در اکتیویتی نوشته شود) :

[shcode=java]

    private ArrayList getListData() {

        ArrayList results = new ArrayList();

        Settings newsData = new Settings();

        newsData.setTitle("setting");

        newsData.setIcon("ic_launcher");

        newsData.setID("1");

        results.add(newsData);

        newsData = new Settings();

        newsData.setTitle("data");

        newsData.setIcon("ic_launcher");

        newsData.setID("2");

        results.add(newsData);

        newsData = new Settings();

        newsData.setTitle(getResources().getString(R.string.pregnancy_mode));

        newsData.setIcon("ic_launcher");

        newsData.setID("3");

        results.add(newsData);

        newsData = new Settings();

        newsData.setTitle("p30droid");

        newsData.setIcon("ic_launcher");

        newsData.setID("4");

        results.add(newsData);

        /*newsData = new Settings();

        newsData.setTitle("android-learn.ir");

        newsData.setIcon("ic_launcher");

        newsData.setID("5");

        results.add(newsData);*/

        newsData = new Settings();

        newsData.setTitle("password");

        newsData.setIcon("ic_launcher");

        newsData.setID("5");

        results.add(newsData);

       

        return results;

    }

[/shcode]

کلاس آداپتر SettingAdapter : برای لیست سفارشی:

[shcode=java]

public class SettingAdapter extends BaseAdapter {

    private Activity activity;

    Typeface tf;

   

    private ArrayList listData;

    private static LayoutInflater inflater = null;

    public SettingAdapter(Activity a, ArrayList listData) {

        activity = a;

        this.listData = listData;

        inflater = (LayoutInflater) activity

                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

       

    }

    public int getCount() {

          return listData.size();

    }

    public Object getItem(int position) {

         return listData.get(position);

    }

    public long getItemId(int position) {

         return position;

    }

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

        View vi = convertView;

        if (convertView == null)

            vi = inflater.inflate(R.layout.list_row, null);

        TextView title = (TextView) vi.findViewById(R.id.title); // title

        TextView ID = (TextView) vi.findViewById(R.id.txt_id); // duration

        ImageView thumb_image = (ImageView) vi.findViewById(R.id.list_image); // thumb

                                                                                // image

        title.setText(listData.get(position).getTitle());

        ID.setText(listData.get(position).getID());

        //title.setText(listData.get(position).getIcon());

        Resources res = activity.getResources();

        int resourceId = res.getIdentifier(listData.get(position).getIcon(), "drawable",

                activity.getPackageName());

        thumb_image.setImageResource(resourceId);

       

        return vi;

    }

[/shcode]

xml لایوت سطر های سفارشی لیست ویو:

[shcode=xml]

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

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:layout_marginBottom="5sp" >

   

        android:layout_width="fill_parent"

        android:alpha="20"

        android:layout_height="35sp">

       

            android:id="@+id/thumbnail"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:layout_alignParentRight="true"

            android:layout_centerVertical="true"

            android:layout_marginRight="5sp" >

           

                android:id="@+id/list_image"

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:src="@drawable/ic_launcher" />

       

       

            android:id="@+id/title"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:layout_centerInParent="true"

            android:layout_centerVertical="true"

            android:layout_marginRight="10sp"

            android:layout_toLeftOf="@+id/thumbnail"

            android:text="title"

            android:textColor="#FFFFFF"

            android:textSize="15sp"

            android:typeface="sans" />

       

            android:id="@+id/txt_id"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:visibility="gone" />

    

   

[/shcode]

سپس کافی است لیست ویو خود را تعریف و آداپتر را اتصال دهید

[shcode=java]

public class SettingActivity extends Activity {

@Override

    protected void onCreate(Bundle savedInstanceState) {

        // TODO Auto-generated method stub

        super.onCreate(savedInstanceState);

setContentView(R.layout.activity_setting);

    setting_list = (ListView) findViewById(R.id.setting_list);

        image_details = getListData();

        setting_list.setAdapter(new SettingAdapter(this, image_details));

}

}

[/shcode]

Layout اکتیویتی(  activity_setting   ):

[shcode=xml]

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

    android:layout_width="fill_parent"

    android:layout_height="fill_parent" >

   

        android:id="@+id/setting_list"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:layout_below="@+id/top_bar"

        android:layout_margin="20sp"

        android:cacheColorHint="#00000000"

        android:divider="@android:color/transparent"

        android:dividerHeight="15.0sp" />

[/shcode]

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

خیلی ممنون از پاسخ کاملتون خدا خیرتون بده

حالا یه مشکل و سوال پیش اومده

من بلدم در لیست معمولی برم به اکتیویتی و یا همون صفحه دیگه

حالا یه سوال طریقه رفتن به اکتیویتی جدید در لیست معمولی و سفارشی فرق دارن؟؟؟؟

اگه فرق دارن لطفا طریقه رفتن به اکتیویتی جدید در سفارشی رو بگین

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

در لیست سفارشی میتوانید به عناصر هر سطر نیز دسترسی داشته باشید،اما در این  مثال میتوانید بدین صورت نیز عمل کنید

[shcode=java]    setting_list.setOnItemClickListener(new OnItemClickListener() {

            @Override

            public void onItemClick(AdapterView<?> a, View v, int position,

                    long id) {

               

                switch (position) {

                case 0:

                   

                    break;

                case 1:

                   

                    break;

                   

                   

                   

                case 2:

                   

                    break;

                   

                   

                case 3:

                   

                    break;

                   

           

                   

                case 4:

                   

                    break;

                   

                   

                   

                   

                   

                default:

                    break;

                }

            }

        });

[/shcode]

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

من همینا رو گذاشتم ولی میگه فورس کلوز

توی منفیست هم درست عمل کردم

خواهشا کمک کنید


به نظرم اخطارش اینه

Unable to open stack trace file '/data/anr/traces.txt': Permission denied

توی لوگ گت بودش


این کجاش غلطه؟؟؟؟؟؟؟

اخطار هم نداره ها

ولی وقت تو شبیه ساز و گوشی چک میکنم میبینم وقتی میزنم روی دکمه برنامه خارج میشه و فورس کلوز میشه

مگه مشکلی داره این؟؟؟

import android.os.Bundle;

import android.view.View;

import android.widget.AdapterView;

import android.widget.ListView;

import android.app.Activity;

import android.content.Context;

import android.content.Intent;

public class moghadame extends Activity {

public moghadame(Context context) {

// TODO Auto-generated constructor stub

}

ListView list;

String[] web = {

"Clash of Clans",

"اتحاد",

"ترفند ها",

"دفاع",

"حمله"

} ;

Integer[] imageId = {

R.drawable.pic1,

R.drawable.pic2,

R.drawable.pic3,

R.drawable.pic4,

R.drawable.pic5

};

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.moghadame);

CustomList adapter = new

CustomList(moghadame.this, web, imageId);

list=(ListView)findViewById(R.id.list);

list.setAdapter(adapter);

list.setOnItemClickListener(new AdapterView.OnItemClickListener() {

@Override

           public void onItemClick(AdapterView<?> a, View v, int position,

                   long id) {

                

 

               switch (position) {

               case 0:

 

                startActivity(new Intent(moghadame.this, clash.class));

 

                   break;

               }

               

           

       }

});

}}

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

این اپو بگیر، تو همه قسمت هاش  image و text های خودتو جایگزین کن.

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

Listview.zip

Listview.zip

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

[align=center]به من ماهی نده ماهی گیری یادم بده!

[align=justify]   این ضرب المثل ایرانی رو یادت نره! شما باید سعی کنید خط به خط برنامه رو خودتون بنویسید و تست کنید وگرنه

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

اگر هم به مشکل بر خوردید :

  •  دوباره برنامه رو از نو بنویسید
  •  همه چیز رو چک کنید:huh:
  •  فراموش کار نباشید:(

موفق باشید[/align]

[/align]

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

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

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

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

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

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

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

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

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

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