私は過去数時間、些細なことだと思うことをしようとしてきました。私はstackoverflowの回答を読み続けていますが、それは私と一緒に動いていません。人々はstackoverflowでArrayAdapters
文字列を受け入れる例を示しています。ArrayLists
これは私にはうまくいきません。
ArrayListを使用してListViewにデータを入力しますか?
私はここで何が起こっているのかを理解しようとしています。文字列型の配列リストを扱っている場合、データをバインドできるのはテキストビューだけであり、独自のカスタムリンクアダプタークラスを作成しない限り、リストビューではありません。これは私がいくつかの情報を欠いているようです。この問題は非常に一般的であり、解決策が作成されたと思います。私のコードは以下のとおりで、" E/ArrayAdapter(5106): You must supply a resource ID for a TextView
"エラーが発生します。
public class Favorites extends Activity{
UserFunctions userFunctions = new UserFunctions();
ArrayAdapter<String> arrayAdapter1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.favoritespage);
arrayAdapter1 = new ArrayAdapter<String>(Favorites.this,android.R.layout.activity_list_item);
new DownloadDataTask().execute();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main_screen, menu);
return true;
}
private class DownloadDataTask extends AsyncTask<JSONArray, JSONArray, ArrayList<String> > {
@Override
protected ArrayList<String> doInBackground(JSONArray... params) {
JSONArray json = userFunctions.ziplistrequest("39", "-74", "50");
ArrayList<String> zipcodes = new ArrayList<String>();
for(int i=0; i < json.length() ; i++) {
JSONObject jarray = null;
try {
jarray = json.getJSONObject(i);
String zip = jarray.getString("ZIPCODE");
zipcodes.add(zip);
arrayAdapter1.add(zip);
Log.d(zip,"Output");
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return zipcodes;
}
protected void onPostExecute(ArrayList<String> result){
ListView listView = (ListView) findViewById(R.id.list);
arrayAdapter1.addAll(result);
listView.setAdapter(arrayAdapter1);
}
}
}