java - how can i access the courseID variable from another class? -
i have fragment , java class. want access courseid variable in generator class fragmenrvrlist fragment. tried declare static variable doesn't allowed. how can it? thank in advance :)
generator.java
public class generator { public static list<dobjectvrlist> getdata(){ int courseid; list<dobjectvrlist> courses = new arraylist<>(); (int i=1; i<=8;i++){ dobjectvrlist course = new dobjectvrlist(); course.setid(i); courseid = course.getid(); switch (i){ case 1: course.settitlecourse("course "+i); course.setcoursedate("today @ 9 pm"); break; case 2: course.settitlecourse("course "+i); course.setcoursedate("today @ 9 pm"); break; case 3: course.settitlecourse("course " +i); course.setcoursedate("today @ 9 pm"); break; case 4: course.settitlecourse("course "+i); course.setcoursedate("today @ 9 pm"); break; case 5: course.settitlecourse("course "+i); course.setcoursedate("today @ 9 pm"); break; case 6: course.settitlecourse("course "+i); course.setcoursedate("today @ 9 pm"); break; case 7: course.settitlecourse("course "+i); course.setcoursedate("today @ 9 pm"); break; case 8: course.settitlecourse("course "+i); course.setcoursedate("today @ 9 pm"); break; } courses.add(course); } return courses; }
fragmentvrlist.java
public class fragmentvrlist extends fragment { @override public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate) { view rootview = inflater.inflate(r.layout.activity_main,container,false); view cardview = inflater.inflate(r.layout.card_vr,container,false); generator generator = new generator(); recyclerview recyclerview = (recyclerview)rootview.findviewbyid(r.id.recycle); recyclerview.setlayoutmanager(new linearlayoutmanager(getactivity())); adaptervrlist adapter = new adaptervrlist(getactivity(), generator.getdata()); recyclerview.setadapter(adapter); recyclerview.setnestedscrollingenabled(false); switch (generator.getdata()) return rootview; }
}
you have courseid defined inside static function. means scope of variable limited function- doesn't exist except when function being called.
i'm guessing you're pretty new programmer? because style of code needs lot of work. 1 thing, don't need switch statement, @ all. every branch same thing. entire loop can rewritten as:
for (int i=1; i<=8;i++){ dobjectvrlist course = new dobjectvrlist(); course.setid(i); course.settitlecourse("course "+i); course.setcoursedate("today @ 9 pm"); courses.add(course); }
in general if ever find looping , doing switch on loop variable, you're wrong. in fact see going switch statement later too- switch statements aren't used anywhere near as seem using them, need spend more time thinking how you're trying manipulate generic data, rather making assumptions individual values.
then when want course id, don't need access in generator class. go
list<dobjectvrlist> courses = generator.getdata(); int courseid = courses.get(index_you_want).getcourseid();
if want courses, go:
for(dobjectvrlist course : courses) { int courseid = course.getcourseid(); //do whatever want course id here- without using switch }
Comments
Post a Comment