sinaketab90

راهنمایی در مورد علاقه مندی ها

5 ارسال در این موضوع قرار دارد

سلام 

من یه لیست علاقه مندی بدون دیتابیس شدم اما توی ساخت خود لیست نمیدونم کجای کد ایراد داره  که از یه اکتیویتی بره به چند اکتیویتی دیگه و اونا رو توی ایتم های لیست ویو نشون بده.

توی این برنامه از چند لایوت تشکیل شده که به هنگام فشردن هر آیتم به اکتیویتی لایوت اون بره.

اینم کد:

import android.app.*;

import android.content.*;

import android.os.*;

import android.view.*;

import android.widget.*;

import java.util.*;

public class Favorites extends Activity

{

public int onvan_1;

    public SharedPreferences.Editor editor;

// List view

    private ListView lv;

@Override

protected void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.favorites);

final String[] on=getResources().getStringArray(R.array.fav);

// Listview Data

List Favorites_items = new ArrayList();

final SharedPreferences shared1 = getSharedPreferences("Prefs1", MODE_PRIVATE);

final SharedPreferences shared2 = getSharedPreferences("Prefs2", MODE_PRIVATE);

final SharedPreferences shared3 = getSharedPreferences("Prefs3", MODE_PRIVATE);

final SharedPreferences shared4 = getSharedPreferences("Prefs4", MODE_PRIVATE);

onvan_1 = on.length;

for (int i = 0; i < onvan_1; i++)

{  

Boolean b = shared1.getBoolean(on, false);

if (b)

{

Favorites_items.add(on);

editor = shared1.edit();

editor.apply();

        lv = (ListView) findViewById(R.id.favoritesListView1);

        // Adding items to listview

        final ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, Favorites_items);

lv.setAdapter(adapter);

        adapter.setNotifyOnChange(true);

        lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {

@Override

public void onItemClick(AdapterView parent, View view,

int position, long id)

{

for (int i=0; i < on.length; i++)

{

if (adapter.getItem(position).equals(on))

{

switch(position){

case 0:

startActivity(new Intent(getBaseContext(),B1.class));

break;

case 1:

startActivity(new Intent(getBaseContext(),B2.class));

break;

case 2:

startActivity(new Intent(getBaseContext(),B3.class));

break;

case 3:

startActivity(new Intent(getBaseContext(),B4.class));

break;

}}}}});}}}}

لطف کنین جواب بدین.ممنون

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


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

سلام

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

آداپتر رو بدی به لیست  ! لیست هم notifydatasetchange کنی !

به راحتی !! فقط یه بولین تعریف کن که true و false بشه که داخل تابع onbackpress بش بگی چه کاری انجام بده .

تابع onitemclick خودش پوسیژن داره دیگه ! اینکه if گذاشتید چیه ؟؟؟

if رو بردارید بازم کار میکنه !!

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


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

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

ممنون میشم

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


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

خب دوست عزیز خیلی از کدهات ایراد داره - Boolean رو اینطوری تعریف کن boolean با b نه B

این خط رو حذف کنfor (int i=0; i < on.length; i++)

{

if (adapter.getItem(position).equals(on))

{

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

بعد notifydatasetchange کنی ! خیلی واضحه دیگه چطوری بگم :)

به این صورت

final ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, Favorites_items);

lv.setAdapter(adapter);

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


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

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

یه سوالم داشتم:این prefs1و... رو چجور میشه باهم به لیست اضافه کرد لطفا با اصلاح کد اولیه جواب بدین.

خیلی خیلی تشکر

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


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

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری