AsyncTask
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private Button btn;
private TextView tv;
private List<List<String>> data=new ArrayList<>();
private String murl="https://suggest.taobao.com/sug?code=utf-8&q=%E6%89%8B%E6%9C%BA";
private ListView lv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
}
private void initView() {
btn = (Button) findViewById(R.id.btn);
tv = (TextView) findViewById(R.id.tv);
lv = (ListView)findViewById(R.id.lv);
btn.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn:
new MyTask().execute(murl);
break;
}
}
class MyTask extends AsyncTask<String,Void,String>{
@Override
protected String doInBackground(String... strings) {
try {
String json = HttpUtils.get(murl);
return json;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
tv.setText(s);
Gson gson=new Gson();
result result = gson.fromJson(s, result.class);
data = result.getResult();
Log.d("onPostExecute: zzz",data+"");
MyAdapter adapter=new MyAdapter(MainActivity.this,data);
lv.setAdapter(adapter);
}
}
}