باسلام و عرض خسته نباشید
چطوری میشه در لیست ویو با کلیک بر روی هر دکمه کار خاصی انجام شود مثلا به صفحه ای دیگر برود؟
ممنون می شوم پاسخم را بدهید
باسلام و عرض خسته نباشید
چطوری میشه در لیست ویو با کلیک بر روی هر دکمه کار خاصی انجام شود مثلا به صفحه ای دیگر برود؟
ممنون می شوم پاسخم را بدهید
باسلام,خیلی ممنون عید شما هم پیشاپیش به شما و همکاران و خانواده محترمتان مبارک باد و سالی پر از موفقیت و خوشی را برایتان آرزومندم خیلی ببخشید فق یک سوالی داشتم آیا می تونم در کد زیر در قسمتی که معرفی کردم دکمه ها را با استفاده از دستور 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; } }); } }
ممنون می شوم پاسخم را بدهید
سلام و وقت بخیر
در اندروید معمولا لیست ها به وسیله ی کلاسی که بصورت رایج و قرار دادی 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);
}
});
}
}
پاسخ ها