Я создал пользовательский класс с именем с именем урока < /code>, который в основном имеет методы конструктора и получения для его переменных.
Код: Выделить всё
populateLessonDetails(myURL)[*]
Код: Выделить всё
populateLessonTextViews()Я создал частный урок mlesson; переменная внутри моей деятельности, прежде всего @overrides , потому что я пытаюсь использовать эту переменную, чтобы заполнить ее позже. Получение всех данных от json внутри onresponse () , сохранение их в string переменных, все еще внутри OnResponse () , а затем, все еще внутри onResponse () я пытаюсь заполнить переменную mless , вызывая
Код: Выделить всё
mLesson = new Lesson(mName, mRoom, mExtra, mAddress, mPC, mCity, mStart, mDate, mRID, mMaxAtt, mCurrentAtt);Теперь, мой populatelaslessOndetails () < /code> заканчивается.
он возвращается в oncreate () < /code> и продолжается со следующей строкой кода, которая будет называть PopulateressOntextviews () < /code>. Mlesson с помощью методов Getter, чтобы установить его на TextViews Like So:
Код: Выделить всё
//Lesson Name Big
TextView lessonNameTextBig = (TextView) findViewById(R.id.text_activelesson_name_big);
lessonNameTextBig.setText(mLesson.getLessonName());
Теперь как я могу это исправить? Должен ли я установить mlesson в качестве параметра для populateslessondetails () , а затем также возвращать его (в настоящее время численные функции void )? Затем сохраните возвращаемое значение в другую переменную урока типа и установите эту новую переменную в качестве параметра для PopulatelaSlessOntextViews () ? Я попробовал пару таких вещей, но они не работали, но, возможно, это только я не делаю это правильно.public class ActiveLesson extends AppCompatActivity {
// there are also some other variables up here
private Lesson mLesson;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_active_lesson);
requestQ = Volley.newRequestQueue(this);
Intent intent = getIntent();
Bundle extras = intent.getExtras();
mDatum = extras.getString("datum");
mRID = extras.getString("rid");
mVon = extras.getString("von");
myActiveLessonURLFiltered += "datum="+mDatum+"&rid="+mRID+"&von="+mVon;
populateLessonDetails(myActiveLessonURLFiltered);
populateLessonTextViews();
}
private void populateLessonDetails(String myActiveLessonURLFiltered) {
JsonArrayRequest lessonJAR = new JsonArrayRequest(myActiveLessonURLFiltered,
new Response.Listener() {
@Override
public void onResponse(JSONArray response){
try{
for (int i=0; i < response.length(); i++)
{
JSONObject jsonObject = response.getJSONObject(i);
String mName = jsonObject.getString("Name");
String mRoom = jsonObject.getString("Raum");
String mExtra = jsonObject.getString("Zusatz");
String mAdresse = jsonObject.getString("Address");
String mPC = jsonObject.getString("PLZ");
String mCity = jsonObject.getString("City");
String mMaxAtt = jsonObject.getString("maxAnz");
String mCurrentAtt = jsonObject.getString("belegtAnz");
if(mExtra.length()==0 || mExtra == "null")
mExtra="";
if(mRoom.length()==0 || mRoom == "null")
mRoom="";
else
mRoom="Room: "+mRoom;
if(mName.length()==0 || mName == "null")
mName="";
mLesson = new Lesson(mName, mRoom, mExtra, mAdresse,
mPC, mCity, mVon, mDatum, mRID, mMaxAtt, mCurrentAtt);
Log.i("mmLesson"," Lesson with new = "+ mLesson.getLessonName()
+" "+mLesson.getLessonCity());
}
}catch (JSONException e){
e.printStackTrace();
}
}
},
new Response.ErrorListener(){
@Override
public void onErrorResponse(VolleyError error){
error.printStackTrace();
Toast.makeText(ActiveLesson.this, "No Lessons Available",
Toast.LENGTH_LONG).show();
}
}){
@Override
public Map getHeaders() throws AuthFailureError {
HashMap headers = new HashMap();
headers.put("Accept", "application/json");
return headers;
}
};
requestQ.add(lessonJAR);
}
private void populateLessonTextViews(Lesson mLesson) {
//Lesson Name Big
TextView lessonNameTextBig = (TextView) findViewById(R.id.text_activelesson_name_big);
lessonNameTextBig.setText(mLesson.getLessonName());
// there are others lines of code like these two,
// but I've left them out, since they are all the same
}
< /code>
Если некоторые могли бы мне помочь, я буду признателен. Спасибо!
Подробнее здесь: https://stackoverflow.com/questions/347 ... ot-working
Мобильная версия