آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

یک لیست ویو و چند دیزاین

jamal2012  11 سال پیش  11 سال پیش
+2 0

سلام من میخوام با کلیک روی هر یک از باتن هام اداپترم  با توجه به اینکه روی چه دکمه ای کلیک شده اطلاعات را روی یک ویو خاص ولی روی یک لیست ویو ادپت کنه واضح تر بگم میخوام با کلیک روی هر یک از باتن هام لیست ویوم سطر هاش گرافیکش فرق داشته باشند و اگر روی باتن دیگه کلیک میکونم سطرهای دیگه رو تو لیست ویوم نمایش بده

+1 0
کسی نیست؟ (11 سال پیش)
0 0
میخوای با هر کلیک ظاهر لیست ویو تغییر کنه و یا اینکه میخوای داخل لیست ویوت ایتم ها با ظاهری متفاوت نشون داده بشن؟ (11 سال پیش)
0 0
میخوای با هر کلیک ظاهر لیست ویو تغییر کنه و یا اینکه میخوای داخل لیست ویوت ایتم ها با ظاهری متفاوت نشون داده بشن؟ (11 سال پیش)
0 0
میخوام با هر کلیک ظاهر لیست ویو تغییر کنه البته به یه جا هایی هم رسیدم یکم به خودم امیدوار شدم الان یه جایی گیر کردم الان میخوام تو متغییری که از جنس استرینگه یه عدد بریزم استاد یادمه تو یکی از اموزش هاشون گفت ولی یادم نی (11 سال پیش)
+1 0
روشمو واست میذارم امیدوارم بدردت بخوره (11 سال پیش)
0 0
ممنونم ازت دوست من (11 سال پیش)
 برای این سوال 3 پاسخ وجود دارد.
پاسخ به سوال 
Hossein Kurd  11 سال پیش
+2 0

یعنی می خواهی چند نوع دیزاین رو داشته باشی؟ اگر دیزاین ها با هم نمایش داده نمی شن که ادپتر جداگانه می خواد اما اگر با هم نمایش داده می شن چند راهکار داری:

1. اگر نهایتا سه دیزاین هستن یه لیست ویو بزن و لیست ویو دوم و لیست ویو سوم رو به عنوان هدر و فوتر لیستویو اصلی قرار بده

2. از لیست ویو توی لیست ویو استفاده کن یا از لیست ویو کشویی

3. می توی توی adapter.xml مربوط به لیست ویو چند لایه اصلی بذاری و بهش بگی اگر محتوا x بود لایه اول رو نمایش بده و بقیه رو ll.setvisivbility(View.Gone) کن اگر y بود لایه دوم رو نمایش بده و لایه اول و سوم و چهارم رو gone کن و به همین ترتیب

 

LineaLayout ll_main = (LinearLayout) findviewbyid(R.id.ll_main);

ll_main.setVisivility(View.GONE);


پیشفر همه  رو GONE کن و فقط اوین رو که می خواهی Visible کن چون نمایشش پروسه می گیره البته همچنان پروسه اضافی رو داری همچنین View رو هم با V بزرگ بنویس

 

+2 0
من تو ذهنم روش سوم بود ولی دستور دقیقش رو نمیدونم منظورم از دستور همون ویسیبیلی هست میتونی دستور پنهان کردن رو اینجا بنویسی ممنونن از توجهتون (11 سال پیش)
+2 0
پست رو ویرایش کردم و دستور و بالا نوشتم (11 سال پیش)
0 0
ممنونم دوست من (11 سال پیش)
+1 0
2روزه دارم روش کار میکونم ولی راه به جایی نبردم کسی میتونه کمک کنه (11 سال پیش)
پاسخ به سوال 
ajn91  11 سال پیش
+1 0

این یه راهیه که به ذهن من رسید شاید راه های بهتری هم باشه:

واسه هر گرافیکی که میخوای یک فایل xml بساز با عناصر و id های یکسان حالا چینش ها و ظاهر های مختلفی که میخوای 

داخل کلاس G این کدو بذار

 public class G extends Application {

    public static int                   LAYOUT_ID;


    @Override
    public void onCreate() {
        super.onCreate();
        LAYOUT_ID = R.layout.adapter_layout_1;
    }
}

متدهای  getView و سازنده رو رو داخل Adapter به این صورت تغییر بده:

 public AdapterTest(ArrayList<StructTest> array) {
        super(G.context, G.LAYOUT_ID, array);
    }
 @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder; StructTest item = getItem(position); if (convertView == null) { convertView = G.inflater.inflate(G.LAYOUT_ID, parent, false); holder = new ViewHolder(convertView); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } holder.fill(this, item, position); return convertView; }

بعد داخل متد setOnClickListener هر Button که میخوای id  لایه ای که مد نظرت هستو داخل G.LAYOUT_ID   قرار بده مثل کد زیر کلا 2 خط کد زیر رو داخلش قرار بده

 btn1.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                G.LAYOUT_ID = R.layout.adapter_layout_1;
                lstContent.setAdapter(adapter);
            }
        });

 btn2.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                G.LAYOUT_ID = R.layout.adapter_layout_2;
                lstContent.setAdapter(adapter);
            }
        });

فقط دقت داشته باش فایل های xml که میسازی همشون دارای id  های یکسان و عناصر یکسان باشن

پاسخ به سوال 
ajn91  11 سال پیش
+1 0

در مورد مشکلت که میخوای یک عدد رو داخل یک متغییر از جنس String بریزی چنتا راه هست 

اولیش اینه

String str = 5555 + "";
int x = 6666;
String str2 = x + "";

 راه دومش اینه

String str = String.valueOf(5555);
int x = 6666;
String str2 = String.valueOf(x);

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