【发布时间】:2018-06-07 12:37:58
【问题描述】:
我试图在服务器上使用 php 从 mysql 服务器加载一些数据,它可以工作,但是当我尝试从列表视图中更新数据时,应用程序崩溃了。
这是不工作的代码,当我从 btn onclicklistener 中删除 downloadJSON 时,它工作得非常好,但我真的需要更新按钮才能工作
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn = (Button)findViewById(R.id.button);
listView = (ListView) findViewById(R.id.listView);
downloadJSON("http://www.cryptocrea.com/test.php");
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
listView.setAdapter(null);
downloadJSON("http://www.cryptocrea.com/test.php");
}
});
}
这里是完整代码:https://pastebin.com/nWSWXEVJ
【问题讨论】:
-
你能过去错误信息吗。
-
listView.setAdapter(null);为什么要将空适配器设置为列表? -
我认为你的适配器类有问题。当您在列表视图中设置 null 时,可能会导致崩溃。
-
正如我们的朋友@Morgan 所说,我认为问题可能是UI 线程中的调用。尝试使用
AsyncTasks 或类似的方式拨打电话 -
你的代码没有错误只要去掉listView.setAdapter(null);这句话。