0
listviewを追加したいがエラーが出る。私はそれ??のみListViewコントロールとすべてのhttps://jsonplaceholder.typicode.com/usersユーザーを追加ListViewでAsynctaskを不正に開始する方法
MainActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
myListView = (ListView) findViewById(R.id.listview);
txtResult = (TextView) findViewById(R.id.txt_result);
btnItemList = (Button) findViewById(R.id.btn_item_list);
/* btnItemList.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
new GetItemListTask().execute();
}
});
}*/
public void populateListView(ArrayList<String> myData){
myListView = (ListView) findViewById(R.id.listview);
//Creating an array adapter and populating it with data fetched in Async task i.e. myData
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(
this,
android.R.layout.simple_list_item_1,
(List<String>) new GetItemListTask().execute());
myListView.setAdapter(arrayAdapter);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
private void setResult(Post post) {
txtResult.setText(post.getName());
}
private void setResult(ArrayList<Post> posts) {
for (Post post : posts) {
txtResult.append(post.getName());
}
}
private class GetItemListTask extends AsyncTask<Void, Void, String> {
HttpURLConnection urlConnection;
@Override
protected String doInBackground(Void... params) {
StringBuilder result = new StringBuilder();
try {
URL url = new URL("https://jsonplaceholder.typicode.com/users");
urlConnection = (HttpURLConnection) url.openConnection();
InputStream in = new BufferedInputStream(urlConnection.getInputStream());
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
String line;
while ((line = reader.readLine()) != null) {
result.append(line);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
urlConnection.disconnect();
}
return result.toString();
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
ArrayList<Post> posts = new Gson().fromJson(s,
new TypeToken<ArrayList<Post>>() {
}.getType());
setResult(posts);
}
}
}
私のイメージとエラー
私
のための重要なアドバイスどのように行うことができます
私はリストビューを追加したいが、私はあなたがボタンのアクションを削除し、非同期を呼び出したい –
あなたの質問を理解していませんでしたボタンの外のタスク? –
私のボタンを削除したい –