انجمن سایت کلیدستان


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل در کار با لیست ویو

مشکل در کار با لیست ویو

#1
با عرض سلام
من توی برنامه م احتیاج به ساختن یک لیست ویو دارم که یه سری آبجک که توی یه آرایه ذخیره شدن رو توی اون لیست ویو نمایش بده
و برای اینکار سعی کردم از این لینک (پاسخ اول) استفاده کنم:

http://stackoverflow.com/questions/50708...-arraylist

ولی دقیقا نتونستم کدهایی که اونجاست رو پیاده کنم، مثلا کد

کد پی‌اچ‌پی:
[code]
         
lv = (ListViewfindViewById(R.id.your_list_view_id);
[/
code

با اینکه من هم یک فایل xml برای طراحی هر سطر از لیستم، ساختم و اسمش هم list_view1 هست، ولی وقتی R.id. رو میزنم اصلا فایلی که ساختم رو نمیاره و اگر خودم تایپش کنم هم ارور میگیره که cannot be resolved or not a field
برای همین به جای این کد ازکد زیر استفاده کردم که نمیدونم اون کاری رو که من میخوام رو انجام میده یا نه :

کد پی‌اچ‌پی:
lv =  getListView(); 

(برای قرار دادن این کد هم مجبور شدم خود activity اصلیم رو به جای مشتق کردن از activity، از ListActivity مشتق کنم)
میخواستم بپرسم اون فایل xml ی که میسازم باید چیز خاصی داشته باشه که اینجا بتونم بهش ارجاع بدم؟
کد فایل list_view1.xml م هم اینه:

کد پی‌اچ‌پی:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
     
    
      <LinearLayout android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >  
         
    <TextView
    android:id="@+id/display_name"
    style="@style/riz"
    android:layout_width="50dp"
    android:layout_height="wrap_content"
    android:padding="5dp"
    android:textAppearance="?android:attr/textAppearanceMedium" 
    android:text="@string/text_1"/>

    <TextView
    android:id="@+id/display_period"
    style="@style/riz"
    android:layout_width="20dp"
    android:layout_height="wrap_content"
    android:padding="5dp"
    android:textAppearance="?android:attr/textAppearanceMedium" 
    android:text="@string/text_2"/>
   
   
   <TextView
    android:id="@+id/display_unit"
    style="@style/riz"
    android:layout_width="40dp"
    android:layout_height="wrap_content"
    android:padding="5dp"
    android:textAppearance="?android:attr/textAppearanceMedium" 
    android:text="@string/text_3"/>
   
   <TextView
    android:id="@+id/display_description"
    style="@style/riz"
    android:layout_width="80dp"
    android:layout_height="wrap_content"
    android:padding="5dp"
    android:textAppearance="?android:attr/textAppearanceMedium" 
    android:text="@string/text_4"/>
   
   <TextView
    android:id="@+id/display_hour_of_start"
    style="@style/riz"
    android:layout_width="40dp"
    android:layout_height="wrap_content"
    android:padding="5dp"
    android:textAppearance="?android:attr/textAppearanceMedium" 
    android:text="@string/text_5"/>

   <TextView
    android:id="@+id/display_hour_of_end"
    style="@style/riz"
    android:layout_width="40dp"
    android:layout_height="wrap_content"
    android:padding="5dp"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:text="@string/text_6" />
   
   
   </LinearLayout>
  
    
</LinearLayout> 

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

کد پی‌اچ‌پی:
public class Show_alarms_list1 extends ListActivity
{

    private 
ListView lv;

    @
Override
    
public void onCreate(Bundle savedInstanceState
    {
         
super.onCreate(savedInstanceState);
         
setContentView(R.layout.show_alarms_list1);

        
          
lv =  getListView();
          
         
ArrayList<Alarm_first_typeMyApplication.getAlarms1();
          
         
ArrayAdapter<Alarm_first_typeA_adapter = new ArrayAdapter<Alarm_first_type>(this,android.R.layout.simple_list_item_1,A);
         
lv.setAdapter(A_adapter);
         
    }
        


توی فایل xml مربوط به این فایل جاوا هم کد زیر رو نوشتم :

کد پی‌اچ‌پی:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    
xmlns:tools="http://schemas.android.com/tools"
    
android:layout_width="match_parent"
    
android:layout_height="match_parent"
    
android:paddingBottom="@dimen/activity_vertical_margin"
    
android:paddingLeft="@dimen/activity_horizontal_margin"
    
android:paddingRight="@dimen/activity_horizontal_margin"
    
android:paddingTop="@dimen/activity_vertical_margin"
    
tools:context="ir.AlarmTiming.Show_alarms_list1" >

    
   
    <
ListView
        android
:id="@android:id/list"
        
android:layout_width="fill_parent"
        
android:layout_height="150dp" />

</
RelativeLayout


با این برنامه خروجی ای که برام نمایش داده میشه اصلا شبیه اون چیزی نیست که میخوام! و از هر عنصری که توی آرایه هست فقط اسم پکیج و اسم کلاس خودش و یه شماره(به شکل یه کلمه ی به هم چسبیده، انگار مثلا id اون آبجکت رو داره نشون میده) برام نشون میده و اصلا فیلدهای خودش رو نشون نمیده(حق هم داره چون من اصلا بهش نگفتم مثل کدوم فایل xml نمایش بده!)

ولی همونطور که توی اون لینک بود اصلا کلاسی از arrayAdapter مشتق نکردم که ازون شیء بسازم و از خود arrayAdapter ساختم
قبلا هم یه لیست برای نمایش یه تعداد عکس ساخته بودم(توی همین پروژه) که راه کلیش شبیه به کلید 843 بود (یعنی با کمک تعریف یک کلاس که از arrayAdapter ارث بری کنه و...) ولی راستش اون بار هم به کمک یه سایت بود که دقیقا و مرحله به مرحله گفته بود چیکار کنم، یعنی زیاد نمیدونم فلسفه ی این که کلاسی مثل myAdapter تعریف میکنیم چیه، میخواستم ببینم کلا برای چی بعضی جاها لازمه و بعضی جاها لازم نیست(البته ممکنه توی اون لینکی که گذاشتم هم برای سادگی کار از خود arrayAdapter شیء ساخته و در اصل برای این هم باید یه کلاس مشتق شده از arrayAdapter بسازم و از اون استفاده کنم)
الان مشکل برنامه ی من از اون بخش arrayAdapter هست که باید حتما یه کلاس جدید ارث بری شده ازش بسازم و بقیه ی ماجرا؟ یا اینکه مشکل از اون بخشه که نمیتونم فایل xml م رو به برنامه بشناسونم؟ یا کلا مشکل از جای دیگه س؟
خیلی هم سعی کردم یه کلاس از arrayAdapter مشتق کنم برای این، ولی چون اصلا نمیفهمم چی باید توش بنویسم نتونستم، توی سرچ هام هم خیلی دیدم که دنبال پیاده سازی بدون اینکار میگشتن، منم ترجیحم اینه بدون اینکار باشه چون اصلا نمیفهممش، ولی اگر ساختنش لازمه لطفا برای اون هم یه کم راهنماییم کنین
ببخشید اگه سوالم خیلی طولانی شد
اگه میشه یه کم سریعتر جواب بدین خیلی موردم اورژانسیه(البته همیشه سریع جواب میدین)
پیشاپیش ممنون از جوابتون
پاسخ


پیام‌های این موضوع
مشکل در کار با لیست ویو - توسط mahsa71 - ۱۳۹۳/۱۱/۲۱, ۰۳:۳۰ ق.ظ
RE: مشکل در کار با لیست ویو - توسط admin - ۱۳۹۳/۱۱/۲۱, ۰۸:۱۸ ب.ظ

پرش به انجمن:


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