私はアンドロイドプログラミングの新人ですが、できる限り毎回新しいことを学びたいと思っています。私の質問についてはウェブサイトでたくさんのものを読みましたが、私のために現時点では。私が知りたかったのは、私が外部APIから集めたリストビューのデータをどのように送信し、アイテムをクリックして別のアクティビティに送信するのか、そして新しいアクティビティでそれを取得する方法と、たとえば、 ...私はJSONデータなしでいくつかの例を行いましたが、それはかなり簡単ですが、なんらかの理由でJSONデータでは難しいと感じています。任意のヘルプに感謝しますjsonオブジェクトのリストビューから新しいアクティビティにデータを渡す
public class MainActivity extends AppCompatActivity {
private static final String
url="https://prokampo.000webhostapp.com/teste.php";
private ProgressDialog dialog;
private List<Item> array = new ArrayList<Item>();
private ListView listView;
private Adapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView = (ListView) findViewById(R.id.list_item);
adapter = new Adapter(this, array);
listView.setAdapter(adapter);
dialog = new ProgressDialog(this);
dialog.setMessage("Loading...");
dialog.show();
sendRequest();
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
Intent i = new Intent(MainActivity.this, DadosLista.class);
i.putExtra("data", adapter.toString());
startActivity(i);
}
});
}
//Creat volley request obj
private void sendRequest(){
JsonArrayRequest jsonArrayRequest=new JsonArrayRequest(url, new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
hideDialog();
//parsing json
for(int i=0;i<response.length();i++){
try{
JSONObject obj=response.getJSONObject(i);
Item item=new Item();
item.setTitle(obj.getString("title"));
item.setImage(obj.getString("image"));
item.setRate(obj.getString("rating"));
item.setYear(obj.getString("releaseYear"));
//genre is json array
/* JSONArray genreArray=obj.getJSONArray("genre");
ArrayList<String> genre=new ArrayList<String>();
for(int j=0;j<genreArray.length();j++){
genre.add((String) genreArray.get(j));
}
item.setGenre(genre);
*/
//add to array
array.add(item);
}catch(JSONException ex){
ex.printStackTrace();
}
}
adapter.notifyDataSetChanged();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
AppController.getmInstance().addToRequesQueue(jsonArrayRequest);
}
getIntent()。getSerializableExtra( "data"); txtTitle =(TextView)findViewById(R.id.tv_title2); txtTitle.setText(String.valueOf(item.getTitle())); – CodePT