1
ListViewにonItemClickを設定したいのですが、どこにコードを挿入する必要がありますか?もう1つ、getItemsOnPosition()からString配列 "name"と "errands"にオブジェクトを解析する方法は?ありがとう。 私はリストビューアイテムのレイアウトを使用しません。ちょうどこれとListViewのレイアウトです。おかげ私のコードに従ってListItemのonItemClickをどこに置くべきですか?getItemsOnPosition()から配列にオブジェクトを解析する方法は?
public class ErrandsFragment extends Fragment {
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_errands, container, false);
}
@Override
public void onStart() {
super.onStart();
new ListTask().execute();
}
class ListTask extends AsyncTask<Void, Void, ArrayList<HashMap<String, String>>> {
ProgressDialog progressDialog;
@Override
protected void onPreExecute() {
super.onPreExecute();
progressDialog = new ProgressDialog(getActivity());
progressDialog.setMessage("Retrieving Datas");
progressDialog.setIndeterminate(true);
progressDialog.setCancelable(true);
progressDialog.show();
}
@Override
protected ArrayList<HashMap<String, String>> doInBackground(Void... params) {
WebService service = new WebService("My JSON", "GET", "");
String jsonString = service.responseBody;
ArrayList<HashMap<String, String>> albums = new ArrayList<>();
try{
JSONArray array = new JSONArray(jsonString);
for (int i = 0; i < array.length(); i++) {
JSONObject object = array.getJSONObject(i);
String name= object.getString("name");
String errands= object.getString("errands");
HashMap<String, String> album = new HashMap<>();
album.put("name", name);
album.put("errands", errands);
albums.add(album);
}
} catch (JSONException e) {
e.printStackTrace();
}
return albums;
}
@Override
protected void onPostExecute(ArrayList<HashMap<String, String>> albums) {
super.onPostExecute(albums);
progressDialog.hide();
ListView listView = (ListView)getView().findViewById(R.id.errands_list);
listView.setAdapter(new SimpleAdapter(
getActivity(),
albums,
android.R.layout.simple_list_item_2,
new String[] {
"name",
"errands"
},
new int[] {
android.R.id.text1,
android.R.id.text2
}
));
}
}
}
多くのおかげでそれを行うことができます!それは魔法のように働いた。 –
@FarellSujanto私の答えを受け入れること自由に感じる:) – Darish