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

لود یک listview با استفاده از listview دیگر

saeedbaharikhoob  10 سال پیش  10 سال پیش
0 0

سلام دوستان

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

من از روی پروژه مارکت یه پروژه دیگه ایجاد کردم توی پروژه جدید صفحه اول یه لیست ویو هست که با کلیک روی اون وارد صفحه دوم می شیم توی اون صفحه 2 لیست ویو دیگه وجود داره که لیست ویو اول گروه هست و لیست ویو دوم زیر گروه لیست ویو گروه به راحتی لود می شه مشکل اینجاست که وقتی روی لیست ویو گروه کلیک می کنم بجای اینکه زیر گروه ها توی لیست ویو دوم لود شه توی LogCat با  پیام زیر رو به رو می شم و هیچ اتفاقی نمی افته .

 07-31 20:06:16.486: I/InputDispatcher(78): Application is not responding: Window{415e82f8 
com.test.pro1/com.test.pro1.ActivityFood paused=false}. 5044.1ms since event, 5042.7ms
since wait started
07-31 20:06:16.486: I/WindowManager(78): Input event dispatching timed out sending to
com.test.pro1/com.test.pro1.ActivityFood
07-31 20:06:21.521: I/InputDispatcher(78): Dropped event because it is stale.

اسم لیست ویو گروه lstrootkala هست .

و اسم لیست ویو زیر گروه lstkala هست .

سورس صفحه ActivityFood  که دو لیست ویو توش هستن

 package com.test.pro1;

import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;


public class ActivityFood extends ActivityEnhanced {

private ArrayAdapter adapter;


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

final ListView lstrootkala = (ListView) findViewById(R.id.lstrootkala);

adapter = new AdapterRootFood(G.rootfood);
lstrootkala.setAdapter(adapter);

Commands.readrootfood();
adapter.notifyDataSetChanged();

}
}

سورس AdapterRootFood برای لیست ویو گروه

 package com.test.pro1;

import java.util.ArrayList;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;


public class AdapterRootFood extends ArrayAdapter<StructTask> {

public AdapterRootFood(ArrayList<StructTask> array) {
super(G.context, R.layout.adapter_rootfood, array);
}


private static class ViewHolder {

public ViewGroup layoutRootFood;
public TextView txtrootcode;
public TextView txtrootname;
public ListView lstkala;
private ArrayAdapter adapter2;


public ViewHolder(View view) {
txtrootcode = (TextView) view.findViewById(R.id.txtrootcode);
txtrootname = (TextView) view.findViewById(R.id.txtrootname);
lstkala = (ListView) view.findViewById(R.id.lstkala);
layoutRootFood = (ViewGroup) view.findViewById(R.id.layoutRootFood);

}


public void fill(final ArrayAdapter<StructTask> adapter, final StructTask item, final int position) {
txtrootcode.setText(item.id);
txtrootname.setText(item.name);

// با کد زیر لیست ویو زیر گروه رو لود می کنم
// با استفاده از همین کد لیست ویو گروه رو پر کردم

layoutRootFood.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
adapter2 = new AdapterRootFood(G.rootfood);
lstkala.setAdapter(adapter2);

Commands.readrootfood();
adapter2.notifyDataSetChanged();
}
});

//
}
}


@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;

StructTask item = getItem(position);
if (convertView == null) {
convertView = G.inflater.inflate(R.layout.adapter_rootfood, parent, false);
holder = new ViewHolder(convertView);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}

holder.fill(this, item, position);
return convertView;
}
}

خودم حدس می زنم اشکال توی نحوه پر کردن لیست ویو زیر گروه که اسمش lstkala هست یعنی قسمت زیر

   public void fill(final ArrayAdapter<StructTask> adapter, final StructTask item, final int position) {
txtrootcode.setText(item.id);
txtrootname.setText(item.name);

// با کد زیر لیست ویو زیر گروه رو لود می کنم
// با استفاده از همین کد لیست ویو گروه رو پر کردم

layoutRootFood.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
adapter2 = new AdapterRootFood(G.rootfood);
lstkala.setAdapter(adapter2);

Commands.readrootfood();
adapter2.notifyDataSetChanged();
}
});

// }

 

 

 برای این سوال پاسخی وجود ندارد.

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