لود یک listview با استفاده از listview دیگر
سلام دوستان
خسته نباشید من یه چند وقتی هست دارم از روی آموزش های استاد اندروید یاد می گیرم یه مشکل دارم که ممنون می شم راهنمایی کنید.
من از روی پروژه مارکت یه پروژه دیگه ایجاد کردم توی پروژه جدید صفحه اول یه لیست ویو هست که با کلیک روی اون وارد صفحه دوم می شیم توی اون صفحه 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();
}
});
// }
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .