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

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

با  سلام بنده دارم یک برنامه  بانک پیامک میسازم و از دیتابیس خارجی هم استفاده می کنم .اما هنگامی که اس ام اس های هر موضوع من بیشتر از 100 تا میشه (یا تعداد رکورد های هر موضوع بیشتر از 100 تا میشه) لیست ویو یا هنگ میکنه یا خیلی دور لود میشه . لطفا اگه کسی می تونه کمکم کنه

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

از ریسایکلر ویو استفاده کن. هر آیتمی که توی اسکرین نباشه رو حذف میکنه تا بار پردازشی اضافی نداشته باشه و عمرا هنگ نمیکنه

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

پردازش رو توی یک ترد دیگه ای اجرا کن.

سلام میشه توضیح بدید منظور از پردازش کدوم قسمت هست.یا اگه ممکنه یه مثال بزنید

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

پردازش رو توی یک ترد دیگه ای اجرا کن.

سلام میشه توضیح بدید منظور از پردازش کدوم قسمت هست.یا اگه ممکنه یه مثال بزنید

منظور Thread هستش

در ضمن میتونی به لیست ویو لیمیت بدی loadmore رو سرچ کن

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

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

  • به لیست ویو محدودیت بده 100تا 100تا لود کنه

  • و کئوری زدن رو توی یه ترد Thread دیگه ای اجرا کن

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

سلام کاربر گرامی .

احتمالا آداپتر از نوع Base Adapter نساختید و فکر میکنم اگرم ساختید شرایط رو درک نکردید .

مثلا وقتی داخل getview برای Holder یه if گذاشته میشه یعنی اینکه اولین خونه رو از holder بخون باقی خونه هارو از holder که هست بخونه و دیگه کلا وارد if نمیشه و وارد else میشه . یا شما این if , else رو نذاشتید یا اگرم گذاشتید برخی چیزهارو داخلش ننوشتید .

مثلا تغییر فونت ، رنگ و ... که اگر بیرون از if باشه آداپتر برای هربار از خونه ها تمام کدهارو اجرا میکنه که باعث هنگی و دیر لود شدن میشه .

کاربران گرامی که پاسخ میدن خواهش میکنم یا درست پاسخ بدید یا اصلا پاسخ ندید : اینکه بگید از Recycler استفاده کن یا ... به نظرم مسخره است .

اصلا قصد توهین ندارم . اما سعی کنید درست پاسخ بدید .

من نمیخوام خیلی فعالیت داشته باشم .اما وقتی میبینم اشتباه پاسخ میدید مجبور میشم پاسخ بدم .

این پاسخ هم بعد از مدتی پاک خواهد شد .

موفق باشید ...

داداشا این کد های لیست ویو هستش حالا شما بگید من چیکار کنم

package love.roman;



import android.annotation.SuppressLint;
import android.app.ListActivity;
import android.app.ProgressDialog;
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Typeface;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.util.TypedValue;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.Window;
import android.view.View.OnClickListener;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.ProgressBar;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;


public class Story extends ListActivity  {

   private database db;
   public ListView lv;
   private String[] Name;
   private String[] Fav;
   private String season;
   private TextView Text;
   private ClipboardManager myClipboard;
   private ClipData myClip;

   private TextView txtview;







   @Override
   protected void onCreate(Bundle savedInstanceState) {

       super.onCreate(savedInstanceState);




       setContentView(R.layout.story);









       db = new database(this);










       Bundle ex = getIntent().getExtras();
       season= ex.getString("sea");

       refresh();

       setListAdapter(new AA());


   }


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














   }


   public void onBackPressed() {

       super.onBackPressed();
       finish();
   }

   class AA extends ArrayAdapter
   {










       public AA()
       {


           super(Story.this,R.layout.row_story,Name);

       }

       @Override
       public View getView(final int position, View convertView, ViewGroup parent) {
       	final ListView lv = (ListView) findViewById(android.R.id.list);


           myClipboard = (ClipboardManager)getSystemService(CLIPBOARD_SERVICE);



           LayoutInflater in = getLayoutInflater();
           View row = in.inflate(R.layout.row_story, parent,false);
           txtview=(TextView) findViewById(R.id.row_story_txt_name);











           final TextView txt = (TextView) row.findViewById(R.id.row_story_txt_name);

           txt.setTextSize(TypedValue.COMPLEX_UNIT_SP, 15);



           final ImageView copy = (ImageView) row.findViewById(R.id.imageView2);

           copy.setOnClickListener(new OnClickListener() {

               @Override



       			public void onClick(View arg0) {

                   String text = (lv.getItemAtPosition(position)).toString();
                   ClipData myClip;
                   myClip = ClipData.newPlainText("copy", text);
                   myClipboard.setPrimaryClip(myClip);
                   Toast.makeText(Story.this, "متن موردنظر کپی شد", Toast.LENGTH_LONG).show();

       			}
       		});




           final ImageView share = (ImageView) row.findViewById(R.id.imageView1);

           share.setOnClickListener(new OnClickListener() {
               @Override
               public void onClick(View arg0) {
               	Intent shareIntent = new Intent(Intent.ACTION_SEND);
   				shareIntent.setType("text/plain");
   				shareIntent.putExtra(Intent.EXTRA_TEXT,txt.getText().toString());

   				startActivity(Intent.createChooser(shareIntent, "اشتراک ..."));

   			}
   		});





           final ImageView fav = (ImageView) row.findViewById(R.id.row_story_img_fav);

           if(Fav[position].equals("1"))
           {

               fav.setImageResource(R.drawable.favon);

           }

           else
           {

               fav.setImageResource(R.drawable.favoff);

           }

           fav.setOnClickListener(new OnClickListener() {

               @Override
               public void onClick(View arg0) {



                   db.open();

                   if(Fav[position].equals("1"))
                   {
                   	Toast.makeText(Story.this, "از لیست علاقه مندی ها حذف شد", Toast.LENGTH_LONG).show();
                       db.Fav_update("content", season, Name[position], "0");
                       fav.setImageResource(R.drawable.favoff);
                       Fav[position]="0";


                   }

                   else
                   {
                   	Toast.makeText(Story.this, "به لیست علاقه مندی ها اضافه شد", Toast.LENGTH_LONG).show();
                       db.Fav_update("content", season, Name[position], "1");
                       fav.setImageResource(R.drawable.favon);
                       Fav[position]="1";

                   }

                   db.close();
               }
           });





           txt.setText(Name[position]);
           txt.setTypeface(Main.font);

           Animation animation = AnimationUtils.loadAnimation(getContext(),
                   R.anim.move_t_l);
           row.startAnimation(animation);

           return (row);
       }
   }

   private void refresh()
   {
       db.open();
       int s = db.Story_count("content", season);

       Name = new String[s];
       Fav = new String[s];


       for(int i=10;i        {

           Name[i]=db.Story_display("content", i,season,1);
           Fav[i]=db.Story_display("content", i, season, 4);
       }

       db.close();
   }

   @Override
   public boolean onKeyDown(int keyCode, KeyEvent event) {
       // TODO Auto-generated method stub
if (keyCode == KeyEvent.KEYCODE_BACK) {
//دستور رفتن از صفحه حاضر به صفحه دلخواه
startActivity(new Intent(Story.this, Season.class));
finish();

           return true;
       }

   return super.onKeyDown(keyCode, event);
   }




}

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

سلام . ببین دوستم عزیز کلا خیلی خیلی ابتدایی لیست ویو رو ساختی ! خیلی منطقیه که هنگ کنه .

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

http://www.pcsalt.com/android/listview-using-baseadapter-android/

موفق باشید...

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

سلام . ببین دوستم عزیز کلا خیلی خیلی ابتدایی لیست ویو رو ساختی ! خیلی منطقیه که هنگ کنه .

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

http://www.pcsalt.com/android/listview-using-baseadapter-android/

موفق باشید...

ممنون . حالا مشکل من این شده که چطور  داده ها رو از دیتابیس دورن این لیست ویو نمایش بدم

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

بنظر من قبل از اینکه برنامه ات رو بسازی اول چند برنامه کوچک تستی بساز مثلا کتاب کوچک بساز

از دیتابیس اطلاعات رو بخون و نشون بده با ارایه ها کار بکن و...

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

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

اطلاعات رو در یک وب ویو نشون بده

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

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

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

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

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

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

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

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

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

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

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

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