ApA

لیست ویو

ApA ۱۳۹۴/۱۲/۱۷ برنامه‌نویسی اندروید

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

چطوری میشه در لیست ویو با کلیک بر روی هر دکمه کار خاصی انجام شود مثلا به صفحه ای دیگر برود؟

ممنون می شوم پاسخم را بدهید

پاسخ‌ها به این تاپیک
kernel
kernel علاقمند به هک و امنیت ، یادگیری ماشین
۱۳۹۷/۰۵/۱۱

سلام و وقت بخیر 

در اندروید معمولا لیست ها به وسیله ی کلاسی که بصورت رایج و قرار دادی Adapter نامیده میشود مقدار دهی میشود تا حافظه ی کمتری اشغال کند و برای هریک از اضای لیست یک شی ساخته نشود.

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

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

   public static class ViewHolder {

        private TextView textView;
        private LinearLayout linearLayout;

        public ViewHolder(View view) {

            textView = view.findViewById(R.id.row_tv_title);
            linearLayout = view.findViewById(R.id.rv_layout);


        }


        public void fill(ArrayAdapter<DataItem> adapter, final DataItem item, int position) {
            textView.setTypeface(G.tf);
            textView.setText(item.getName());

            linearLayout.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent intent = new Intent(G.context, ActivitySecond.class);
                    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                    intent.putExtra("id", item.getId());
                    intent.putExtra("name", item.getName());
                    intent.putExtra("city", item.getCity());
                    intent.putExtra("country", item.getCountry());
                    intent.putExtra("address", item.getAddress());
                    intent.putExtra("crossStreet", item.getCrossStreet());
                    intent.putExtra("distance", item.getDistance());
                    G.context.startActivity(intent);
                }
            });


        }
    }
ApA
ApA
۱۳۹۴/۱۲/۱۹

باسلام,خیلی ممنون عید شما هم پیشاپیش به شما و همکاران و خانواده محترمتان مبارک باد و سالی پر از موفقیت و خوشی را برایتان آرزومندم خیلی ببخشید فق یک سوالی داشتم آیا می تونم در کد زیر در قسمتی که معرفی کردم دکمه ها را با استفاده از دستور case بنویسم؟

AndroidListViewActivity.java package com.androidhive.androidlistview; import android.app.ListActivity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.TextView; public class AndroidListViewActivity extends ListActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // storing string resources into Array String[] adobe_products = getResources().getStringArray(R.array.adobe_products); // Binding resources Array to ListAdapter this.setListAdapter(new ArrayAdapter(this, R.layout.list_item, R.id.label, adobe_products)); ListView lv = getListView(); // listening to single list item on click lv.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> parent, View view, int position, long id) { //

استفاده از دستور case در قسمت زیر

//go to the page = i_1_4 case 1: Intent intent1 = new Intent(Irancel.this, i_1_4.class); startActivity(intent1); break; } }); } }

ممنون می شوم پاسخم را بدهید

stack programer
stack programer
۱۳۹۴/۱۲/۲۰

سلام، انجایی از سورس که متد onItemClick داریم،یعنی لحظه ای که یکی از منو های لیست ویو کلیک شده: انجا یک متد داریم:

// selected item String product = ((TextView) view).getText().toString();

رشته پردکت باید نام منو را بده،پس بله شما می توانید از دستور سوییچ کیس استفاده کنید.ببخش دیر شد ،نبودم رو نت موفق باشید

در پاسخ به

stack programer
stack programer
۱۳۹۴/۱۲/۱۸
سلام،این اموزش همین کار را انجام داده http://www.androidhive.info/2011/10/android-listview-tutorial/ به ترتیب مراحل گفته شده پیش برو ،عیدتم پیشاپیش مبارک