رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل با ساخت thread
#1
با سلام و عرض ادب
استاد ما ی متد تعریف کردیم و توی اجرا بهمون گفت که این چون تو ترد اصلیه کند کار میکنه،بعد اومدیم و طبق اموزش خودتون در جلسه اول پیشرفته،ی شی از کلاس ترد ساختیم و بقیه ماجرا،حالا انگار با یک بار کلیک روی دکمه ک کار انجام بده،یه بار توسط main thread و یه باز توسط تردی ک ساختیم باز میشه(دکممون برای رفتن به ی اکتیویتی دیگست).مشکل چیه؟
پاسخ
تشکر شده توسط:
#2
بدون دیدن کدتون نمیشه گفت مشکل از کجاست.
پاسخ
تشکر شده توسط: onlygod2016
#3
public class fragment2 extends Fragment {
    private ArrayList<String> strings = new ArrayList<>();
   public ListView lst;
   private Context context;
   private DatabaseHandler db;


   @Nullable
   @Override
   public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
       View v = inflater.inflate(R.layout.fragment2, container, false);
       lst = (ListView) v.findViewById(R.id.lst);
       set();

       lst.setOnItemClickListener(new AdapterView.OnItemClickListener() {
           @Override
           public void onItemClick(AdapterView<?> adapterView, View view, final int i, long l) {
               Thread thread = new Thread(new Runnable() {
                   @Override
                   public void run() {
                       switch (i) {
                           case 0:
                               Intent intent = new Intent(getContext(), ASS.class);
                               startActivity(intent);

                           case 1:
                               Intent intent1 = new Intent(getContext(), ASS.class);
                               startActivity(intent1);
                       }
                   }

               });
               thread.start();
           }
       });
       return v;
   }

   private void set() {
       db = new DatabaseHandler(getContext());
       db.open();
       strings = db.arrayList();
       db.close();
       ArrayAdapter<String> adapter = new ArrayAdapter<String>(getContext(), android.R.layout.simple_list_item_1, strings);

       lst.setAdapter(adapter);
   }
}

این کدمونه،و ما در واقع میایم این فرگمنت رو return میکنیم برای استفاده در viewpager
پاسخ
تشکر شده توسط:
#4
این کاری که شما انجام دادین نیاز به ترد جداگانه نداره. خطایی که میده رو نادیده بگیرین. ضمناً بهتره بجای اینکه روی onItemClickListener کار کنین، توی آداپتر خودتون اینکار رو انجام بدین. توی XML لی‌اوت، به والد اصلی id بدین و برای همون عنصر، setOnClickListener رو توی آداپتر صدا بزنید. درضمن بهتره بجای ListView با RecyclerView کار کنید. لیست‌ویو دیگه منسوخ شده یه جورایی.
پاسخ
تشکر شده توسط: onlygod2016




کاربران در حال بازدید این موضوع: 1 مهمان