jin kazama 0 ارسال شده در ۳۰ دی ۱۳۹۴ گزارش اشتراک گذاری ارسال شده در ۳۰ دی ۱۳۹۴ سلام اول از همه از دوستانی که کمک میکنن و پاسخ میدن ممنونم. دوستان چند روز دارم میگردم و راه حلی برای مشکلم پیدا نکردم من یه لیست ویو سفارشی ساختم که TextView و یه Button تو هر ردیف داره مشکل اینجاست که با اسکرول کردن جای Position ها تغییر میکنه . و یه چیز دیگه که متوجه شدم تو موبایلم 15 تا ردیف(تو موبایل تست میکنم) جا میگیره و از ردیف 16 پزیشن صفر بعد یک به ترتیب تا اخرین پزیشن و وقتی اسکرول میکنم اون قسمت هایی که از صفحه خارج میشه پوزیشنش تغییر میکنه. وقطی از setOnItemClickListener استفاده میکنم ردیف های تکست درست میشه ولی باتون های هنوز همون مشکل رو دارن از android studio استفاده میکنم ممنون میشم راهنمایی کنین اینقد گشتم خسته شدم MainActivity package com.beautisale.listview; import android.content.Context; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.ListView; import android.widget.RelativeLayout; import android.widget.TextView; import android.widget.Toast; import java.util.ArrayList; import java.util.List; import java.util.Objects; public class MainActivity extends AppCompatActivity { private ArrayList data = new ArrayList(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ListView list = (ListView) findViewById(R.id.listView); list.setAdapter(new Customlist(this, R.id.button, R.id.textView, getResources().getStringArray(R.array.storys))); } public class Customlist extends ArrayAdapter{ viewHolder mainViewHolder = new viewHolder(); private int layout; public Customlist(Context context, int resource, int textViewResourceId, String[] objects) { super(context, resource, textViewResourceId, objects); layout=resource; } @Override public View getView(final int position, View convertView, ViewGroup parent) { final viewHolder viewHolder ; if (convertView == null) { viewHolder= new viewHolder(); String[] str = getResources().getStringArray(R.array.storys); LayoutInflater inflater = (LayoutInflater) getSystemService(getContext().LAYOUT_INFLATER_SERVICE); convertView = inflater.inflate(R.layout.custom, null); viewHolder.text1 = (TextView) convertView.findViewById(R.id.textView); viewHolder.btn = (Button) convertView.findViewById(R.id.button); viewHolder.btn.setText(str[position]); viewHolder.text1.setText(str[position]); viewHolder.text1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(getContext(),"click "+position,Toast.LENGTH_SHORT).show(); } }); viewHolder.btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(getContext(),"bclick "+position,Toast.LENGTH_SHORT).show(); } }); convertView.setTag(viewHolder); } else { viewHolder = (viewHolder) convertView.getTag(); viewHolder.btn.setText(getItem(position)); viewHolder.text1.setText(getItem(position)); } return convertView; } } class viewHolder { TextView text1; Button btn; } } Custom <?xml version="1.0" encoding="utf-8"?> android:layout_width="match_parent" android:layout_height="match_parent" android:descendantFocusability="blocksDescendants"> android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" android:id="@+id/button" android:layout_alignParentTop="true" /> android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium" android:text="Medium Text" android:id="@+id/textView" android:layout_toRightOf="@+id/button" android:layout_alignParentTop="true" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" android:layout_alignBottom="@+id/button" /> Activity_Main <?xml version="1.0" encoding="utf-8"?> xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/listView" android:layout_centerVertical="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" /> storys <?xml version="1.0" encoding="utf-8"?> داستان 1 داستان 2 داستان 3 داستان 4 داستان 5 داستان 6 داستان 7 داستان 8 داستان 9 داستان 10 داستان 11 داستان 12 داستان 13 داستان 14 داستان 15 داستان 16 داستان 17 داستان 18 داستان 19 داستان 20 داستان 21 داستان 22 داستان 23 داستان 24 داستان 25 نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
Seyed-Hossein-Akbari 92 ارسال شده در ۳۰ دی ۱۳۹۴ گزارش اشتراک گذاری ارسال شده در ۳۰ دی ۱۳۹۴ سلام میتونی از پروژه ی زیر استفاده کنی ! http://p30droid.com/Thread-%D8%B3%D9%88%D8%B1%D8%B3-%DA%A9%D8%AF-%DA%A9%D8%A7%D9%85%D9%84-%D8%B3%D8%A7%D8%AE%D8%AA-%DA%A9%D8%AA%D8%A7%D8%A8-%D8%A7%D9%86%D8%AF%D8%B1%D9%88%DB%8C%D8%AF?pid=18791#pid18791 نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
jin kazama 0 ارسال شده در ۱ بهمن ۱۳۹۴ مالک گزارش اشتراک گذاری ارسال شده در ۱ بهمن ۱۳۹۴ دوستان مشکل هنوز پا برجاست کسی دیگه ایده ای نداره ؟ اگر یکی باشه که کامل توضیح بده کار کرد متد ها هم عالی میشه یا آموزش لیست ویوی سقارشی رو بزاره ممنون میشم نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
3910 0 ارسال شده در ۱ بهمن ۱۳۹۴ گزارش اشتراک گذاری ارسال شده در ۱ بهمن ۱۳۹۴ سلام دوست عزیز اگه تلگرام داری ایدی منو ادد کن@shoker_tm یا ایدی یاهوhosseinkhoodaei مشکل دارم بیا حل کن ممنون نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
sina 4 ارسال شده در ۲ بهمن ۱۳۹۴ گزارش اشتراک گذاری ارسال شده در ۲ بهمن ۱۳۹۴ سلام اول از همه از دوستانی که کمک میکنن و پاسخ میدن ممنونم. دوستان چند روز دارم میگردم و راه حلی برای مشکلم پیدا نکردم من یه لیست ویو سفارشی ساختم که TextView و یه Button تو هر ردیف داره مشکل اینجاست که با اسکرول کردن جای Position ها تغییر میکنه . و یه چیز دیگه که متوجه شدم تو موبایلم 15 تا ردیف(تو موبایل تست میکنم) جا میگیره و از ردیف 16 پزیشن صفر بعد یک به ترتیب تا اخرین پزیشن و وقتی اسکرول میکنم اون قسمت هایی که از صفحه خارج میشه پوزیشنش تغییر میکنه. وقطی از setOnItemClickListener استفاده میکنم ردیف های تکست درست میشه ولی باتون های هنوز همون مشکل رو دارن از android studio استفاده میکنم ممنون میشم راهنمایی کنین اینقد گشتم خسته شدم MainActivity package com.beautisale.listview; import android.content.Context; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.ListView; import android.widget.RelativeLayout; import android.widget.TextView; import android.widget.Toast; import java.util.ArrayList; import java.util.List; import java.util.Objects; public class MainActivity extends AppCompatActivity { private ArrayList data = new ArrayList(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ListView list = (ListView) findViewById(R.id.listView); list.setAdapter(new Customlist(this, R.id.button, R.id.textView, getResources().getStringArray(R.array.storys))); } public class Customlist extends ArrayAdapter{ viewHolder mainViewHolder = new viewHolder(); private int layout; public Customlist(Context context, int resource, int textViewResourceId, String[] objects) { super(context, resource, textViewResourceId, objects); layout=resource; } @Override public View getView(final int position, View convertView, ViewGroup parent) { final viewHolder viewHolder ; if (convertView == null) { viewHolder= new viewHolder(); String[] str = getResources().getStringArray(R.array.storys); LayoutInflater inflater = (LayoutInflater) getSystemService(getContext().LAYOUT_INFLATER_SERVICE); convertView = inflater.inflate(R.layout.custom, null); viewHolder.text1 = (TextView) convertView.findViewById(R.id.textView); viewHolder.btn = (Button) convertView.findViewById(R.id.button); viewHolder.btn.setText(str[position]); viewHolder.text1.setText(str[position]); viewHolder.text1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(getContext(),"click "+position,Toast.LENGTH_SHORT).show(); } }); viewHolder.btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(getContext(),"bclick "+position,Toast.LENGTH_SHORT).show(); } }); convertView.setTag(viewHolder); } else { viewHolder = (viewHolder) convertView.getTag(); viewHolder.btn.setText(getItem(position)); viewHolder.text1.setText(getItem(position)); } return convertView; } } class viewHolder { TextView text1; Button btn; } } Custom <?xml version="1.0" encoding="utf-8"?> android:layout_width="match_parent" android:layout_height="match_parent" android:descendantFocusability="blocksDescendants"> android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" android:id="@+id/button" android:layout_alignParentTop="true" /> android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium" android:text="Medium Text" android:id="@+id/textView" android:layout_toRightOf="@+id/button" android:layout_alignParentTop="true" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" android:layout_alignBottom="@+id/button" /> Activity_Main <?xml version="1.0" encoding="utf-8"?> xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/listView" android:layout_centerVertical="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" /> storys <?xml version="1.0" encoding="utf-8"?> داستان 1 داستان 2 داستان 3 داستان 4 داستان 5 داستان 6 داستان 7 داستان 8 داستان 9 داستان 10 داستان 11 داستان 12 داستان 13 داستان 14 داستان 15 داستان 16 داستان 17 داستان 18 داستان 19 داستان 20 داستان 21 داستان 22 داستان 23 داستان 24 داستان 25 سلام دوست عزیز یکی از مشکلاتی که Listview داره دقیقا همینه . که iموقع Scroll کردن جابه جا میشه و باید از viewHolder استفاده کنی . برای اینکه بیشتر مشکل پیدا نکنی از RecyclerView استفاده کن که این مشکل رو توش حل کردن. نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
jin kazama 0 ارسال شده در ۳ بهمن ۱۳۹۴ مالک گزارش اشتراک گذاری ارسال شده در ۳ بهمن ۱۳۹۴ از دوستانی که زحمت میکشن جواب میدن ممنونم یه سوال چطوری میشه ابجکت ها(مثلا یک BUTTON یا یک TextView) رو view شون رو دست کاری کرد مثلان بعد از ساخته شدن آداپتور و نشون دادن لیستمون حالا میخوایم یکی از Button ها رو مخفی کنیم (در ضمن نمیشه ابجکت اصلی رو مخفی کرد چون برنامه به هم میریزه مثل کد پایین) BUTTON btn; btn = (Button) findViewById(R.id.button); btn.setVisibility(View.GONE); نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
Seyed-Hossein-Akbari 92 ارسال شده در ۳ بهمن ۱۳۹۴ گزارش اشتراک گذاری ارسال شده در ۳ بهمن ۱۳۹۴ سلام برای مخفی سازی کافیه با پوزیشن کار کنی مثلا if(postion=1) btn.visible نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
jin kazama 0 ارسال شده در ۴ بهمن ۱۳۹۴ مالک گزارش اشتراک گذاری ارسال شده در ۴ بهمن ۱۳۹۴ سلام برای مخفی سازی کافیه با پوزیشن کار کنی مثلا if(postion=1) btn.visible سلام این روش رو امتحان کردم ولی برنامه به هم میریزه فک کنم چون داریم Button اصلی رو مخفی میکنیم و باید به یه روشی به Button ی که اداپتورمون ساخته دسترسی پیدا کنیم و اون مخفی کنیم (امیدوارم منظورمو فهمیده باشین ) اگر میشد تو اداپترمون تعریف کنیم که برا هریک از دکمه ها یه ایدی مشخص بده که بعد بتونیم با R.id بهش دسترسی پیدا کنیم هم عالی میشد نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
Seyed-Hossein-Akbari 92 ارسال شده در ۴ بهمن ۱۳۹۴ گزارش اشتراک گذاری ارسال شده در ۴ بهمن ۱۳۹۴ سلام برای مخفی سازی کافیه با پوزیشن کار کنی مثلا if(postion=1) btn.visible سلام این روش رو امتحان کردم ولی برنامه به هم میریزه فک کنم چون داریم Button اصلی رو مخفی میکنیم و باید به یه روشی به Button ی که اداپتورمون ساخته دسترسی پیدا کنیم و اون مخفی کنیم (امیدوارم منظورمو فهمیده باشین ) اگر میشد تو اداپترمون تعریف کنیم که برا هریک از دکمه ها یه ایدی مشخص بده که بعد بتونیم با R.id بهش دسترسی پیدا کنیم هم عالی میشد ربطی نداره که باتون اصلیه !! علاقه مندی ها و ... هم به همین شکل هست !! یک باتونه ! با استفاده از مقدار پوزیشن قلب رنگش قرمز و سفید میشه !! همون روش رو میتونی برای ویسیبل به کار ببری !! برنامه که بهم میریزه سره لیست ویو شماست . من نمونه سورس کد دادم بت ! دانلود کن ! از همون استفاده کن !! اینی که شما داری استفاده میکنی مبتدیانه است . موفق باشید نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .