ورود

View Full Version : اضافه کردن آیتم به ArrayList<String>



Amin-rz
دوشنبه 07 مهر 1393, 23:26 عصر
سلام.
یه لیست ویو دارم که اینطور ساختمش:

final String dataOffline = "اس ام اس جوك****اس ام اس خنده دار****تقديم به****اس ام اس سرکاری****اس ام اس ضد دختر**** اس ام اس ضد پسر ****... چیست ؟****کل کل های فوتبالی****اس ام اس پـ نه پـ****اصن يه وضي****درد دل شما ****سوتی های شما****اس ام اس التماس دعا****اس ام اس امتحانات****اس ام اس انتظار****اس ام اس انتظار ظهور****اس ام اس انگلیسی****اس ام اس با موضوع خداوند****اس ام اس بازي با كاراكترها****اس ام اس به سلامتی****اس ام اس به یاد بودن****دقت کردین****اس ام اس بی قراری";


//جدا کردن قسمت های متن
final String[] string = dataOffline.split("\\*\\*\\*\\*");

final ArrayList<String> offlineret = new ArrayList<String>();
for(int i =0;i<10;i++){
offlineret.add(i,string[i]);
}

//تنظیم آداپتر در لیست ویو
arrayAdapter = new AdaptereMan (this, R.layout.offlinerow, R.id.label, offlineret);
listOffline.setAdapter(arrayAdapter);


تا اینجا لیست ویو 10 تا از آیتم ها رو در لیست نشون میده.و مشکلی هم نداشتم.
حالا می خوام 10 تا آیتم دیگه به offlineret اضافه کنم.
ولی این کد جواب نمیده:

for(int i=10;i<20;i++){
offlineret.add(i,string[i]);}

pbm_soy
سه شنبه 08 مهر 1393, 00:08 صبح
اولین مورد احتمالا بخاطر final تعریف کردن arraylist است!
اگر اشتباه نکنم ایراد از ArrayList است بهتر بود از نوع ArrayAdapter میگرفتید مثل کد زیر
این سبکی هم احتمالا جواب میدهد! باید خطا را ببینیم چیه! اگر خطا نمیدهد باید مرحله به مرحله مقادیر آرایه و بقیه موارد را در حین اجرا چک کنید



private ArrayAdapter<String> mArrayAdapter;
******

mArrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1);
mView = (ListView) findViewById(R.id.in);
mView.setAdapter(mArrayAdapter);
******

mArrayAdapter.add("Your string);


اگر هم میخواهید یک آرایه را در زمان تعریف arrayadapter به آن دهید بروش زیر عمل می کنید


String[] myValues= dataOffline.split("\\*\\*\\*\\*");
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, myValues);
lv1 = (ListView) findViewById(R.id.listView1);
lv1.setAdapter(adapter);