بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
عیب در بالا آمدن لایه بعد از فراخانی یک intent
با عرض سلام و خسته نباشید.
من به یک مشکل برخورد کرده ام ، وقتی لایه من load میشه هیچ کدوم از object های منو نشون نمیده انگار این لایه، لایه ای که من ساختم نیست .
من همه آدرس هایی که برای load لایه گذاشتم رو چک کردم هیچ مشکلی نداشت میشه راهنماییم کنید؟
اینم سورس که داخلش intent قرار داره :
public class AdapterDorehForStudent extends ArrayAdapter<StaructDorehForStudent> {
public AdapterDorehForStudent(ArrayList<StaructDorehForStudent> array) {
super(G.context, R.layout.list_item_dorehforstudent, array);
}
private static class ViewHolder {
public TextView txtNameDoreh ;
public ViewGroup lineyerRoot ;
public TextView txtNumberStudent;
// ساخت یک الوار جدید در لیست ویو
public ViewHolder(View view) {
txtNameDoreh=(TextView)view.findViewById(R.id.txtNameDorehForStudent);
txtNumberStudent= (TextView)view.findViewById(R.id.txtNumberDoreh);
lineyerRoot =(ViewGroup)view.findViewById(R.id.layoutRoot);
}
//آپدیت کردن محتوای الوار ها
public void fill(final ArrayAdapter<StaructDorehForStudent> adapter , StaructDorehForStudent item, final int position) {
txtNameDoreh.setText(item.NameDore);
txtNumberStudent.setText(item.NumberStudent);
lineyerRoot.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent ViewStudent =new Intent(G.currentActivityDoreh,MainViewStudent.class);
ViewStudent.putExtra("numberDoreh",position);
G.currentActivityDoreh.startActivity(ViewStudent);
}
});
}
}
// چک کردن برای ساخت یا آپدیت کردن الوار ها و فیکس کردن اطلاعات در الوار ها
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
StaructDorehForStudent item = getItem(position);
if (convertView == null) {
convertView = G.inflater.inflate(R.layout.list_item_dorehforstudent, parent, false);
holder = new ViewHolder(convertView);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.fill(this, item, position);
return convertView;
}
//**********************************************************************
//اینم کلاس که قراره باهاش ارتباط برقرار کنه اما هیچ کدوم از لاگ هاش رو نمایش نمیده
public class MainViewStudent extends AppCompatActivity {
private ListView lv;
private ArrayAdapter adapter;
private ArrayList<StaructStudent> Student = new ArrayList<StaructStudent>();
private static Map<String, Object> StudentInfo = new LinkedHashMap<>();
private String TAG= "mostafa";
@Override
public void onCreate(Bundle savedInstanceState, PersistableBundle persistentState) {
super.onCreate(savedInstanceState, persistentState);
setContentView(R.layout.activity_student_view);
G.contextStudent = MainViewStudent.this;
Log.i(TAG,"oncreate Student");
lv = (ListView) findViewById(R.id.listView);
adapter = new AdapterViewStudent(Student);
lv.setAdapter(adapter);
Bundle extend = getIntent().getExtras();
int j = -1;
if (extend != null) {
j = extend.getInt("numberDoreh");
Log.i(TAG,"j : "+j);
}
int number;
if (j == -1) {
number = G.arrayNumberStudentwDoreh.get(j);
Log.i(TAG,"number : "+ number);
StudentInfo = G.arrayParamsStudent.get(j);
Log.i(TAG,"StudentInfo : "+ StudentInfo);
} else {
return;
}
for (int i = 0; i < number; i++) {
String str = StudentInfo.get("Student_name" + i).toString();
String num = StudentInfo.get("grade" + i).toString();
StaructStudent student = new StaructStudent();
student.NameStudent = str;
student.Grade = num;
Student.add(student);
adapter.notifyDataSetChanged();
}
}
}
برای این سوال پاسخی وجود ندارد.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .
MainViewStudentتوی یکی ازifها یهreturnگذاشتید.returnرو پاک کنید. اگه درست شد بگید، که بگم مشکل از کجاست وreturnرو باید کجا بزارید.adapter.notifyDataSetChanged();رو هم بهتره بعد از حلقه یforبنویسید. (9 سال پیش)