我试图在服务器上使用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
答案 0 :(得分:0)
您正在按钮null
上设置适配器onClick()
,它会在设置列表后生成适配器null
listView.setAdapter(null);
从按钮单击中删除它,此处已设置适配器
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, stocks);
listView.setAdapter(arrayAdapter);
答案 1 :(得分:0)
您在此代码中犯了两个错误
答案 2 :(得分:0)
您无需在下面写一行。
EmpNum BrandCodes
------ ----------
51 100|101|102|103
92 200|201|202
通过设置适配器(null),您的适配器正在设置空值。 使用set Android Array Adapter Simple项目列表
listView.setAdapter(null);
您可以通过在onCreate()和onButtonclicklistener中的asynctask中创建构造函数来提高代码效率
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, stocks);
listView.setAdapter(arrayAdapter);
像这样编写代码
DownloadJSON getJSON = new DownloadJSON(""http://www.cryptocrea.com/test.php"");
getJSON.execute();