Java 如何将其他类的列表项放入数组,然后在textview中设置文本
如何将MainActivity java类中mylistofquestion(第2行)的值放入slideadapter java类中的字符串titleqw(第7行) 所以我可以将它从slideadapter java文件中的数组(buttom的第7行)传递到TextView到settext 主要活动:Java 如何将其他类的列表项放入数组,然后在textview中设置文本,java,android,Java,Android,如何将MainActivity java类中mylistofquestion(第2行)的值放入slideadapter java类中的字符串titleqw(第7行) 所以我可以将它从slideadapter java文件中的数组(buttom的第7行)传递到TextView到settext 主要活动: public class MainActivity extends AppCompatActivity { public List<String> mylistofquesti
public class MainActivity extends AppCompatActivity {
public List<String> mylistofquestion = new ArrayList<>();
public List<String> mylistofanswer = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ViewPager viewPager = (ViewPager) findViewById(R.id.viewpager);
slideadapter slideadapter = new slideadapter(this);
viewPager.setAdapter(slideadapter);
myjsonrequest();
}
//requesting for data
public void myjsonrequest() {
//url to make request
String Url = "https://learncodeonline.in/api/android/datastructure.json";
JsonObjectRequest myjsonObjectRequest = new JsonObjectRequest(Request.Method.GET, Url, null,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Log.i("response", "is " + response);
try {
JSONArray jsonArrayofmine = response.getJSONArray("questions");
Log.i("jsonarray", "is " + jsonArrayofmine);
for (int i = 0; i < jsonArrayofmine.length(); i++) {
//taking quesstion and answer
JSONObject jsonObjectinarray = jsonArrayofmine.getJSONObject(i);
String question = jsonObjectinarray.getString("question");
String answer = jsonObjectinarray.getString("Answer");
mylistofquestion.add(i, question);
mylistofanswer.add(i, answer);
}
Log.i("mylistofquestion", "is " + mylistofquestion);
Log.i("mylistofanswer", "is " + mylistofanswer);
for (int i1 = 0; i1 < mylistofquestion.size(); i1++) {
Log.i("Value of element " + i1, mylistofquestion.get(i1));
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
//show snackbar
}
}
);
MySingleton.getInstance(getApplicationContext()).addToRequestque(myjsonObjectRequest);
}
}
在上面这一行中,我想得到txttitle中的arraylist项,您可以尝试将slideadapter放置在Mainactivity.class中,它实际上应该是“slideadapter”。我想你还需要和其他人一起工作。第1步:从主活动中删除这两行
slideadapter slideadapter = new slideadapter(this);
viewPager.setAdapter(slideadapter);
步骤2:在方法myjsonrequest(如下所示)中的for循环之后粘贴这两行,并进行一些修改
slideadapter slideadapter = new slideadapter(this,mylistofquestion,mylistofanswer);
viewPager.setAdapter(slideadapter);
步骤3:在slideadapter中将构造函数更改为
public slideadapter(Context context, List<String> mylistofquestion, List<String> mylistofanswer) {
this.context = context;
this.mylistofquestion = mylistofquestion;
this.mylistofanswer = mylistofanswer;
}
下面是一个新的
txttitle.setText(mylistofquestion.get(position));
错误:在步骤3java.lang.IndexOutOfBoundsException中找不到符号变量mylistofquestion异常:索引:0,大小:0位于java.util.ArrayList.get(ArrayList.java:437),位于kvadityaaz.forhitesh.com.datastructurepreparation.slideadapter.InstanceItem(slideadapter.java:122),位于android.support.v4.view.ViewPager.addNewItem(ViewPager.java:1004)在slidedapter中上下文之后;添加这两行->列出mylistofquestion;列出mylistofanswer;
txttitle.setText(titleqw[position]);
txttitle.setText(mylistofquestion.get(position));