Java 将onPostExecute应用于onClickListener
我制作了一个与Java 将onPostExecute应用于onClickListener,java,android,json,Java,Android,Json,我制作了一个与AsyncTask一起工作的程序,它在执行程序时打印JSON数据列表,但问题是我希望在按下按钮时执行它。如何将AsyncTask的结果放入onClickButtonListener?如何从onClick调用AsyncTask 代码: public class Instillinger扩展main活动{ 数据库助手myDb; 字符串导航; 字符串地址; 弦双叶; 文本视图导航; TextView-visadrese; TextView-visBil; 编辑文本导航语言; 编辑文本;
AsyncTask
一起工作的程序,它在执行程序时打印JSON数据列表,但问题是我希望在按下按钮时执行它。如何将AsyncTask
的结果放入onClickButtonListener
?如何从onClick调用AsyncTask
代码:
public class Instillinger扩展main活动{
数据库助手myDb;
字符串导航;
字符串地址;
弦双叶;
文本视图导航;
TextView-visadrese;
TextView-visBil;
编辑文本导航语言;
编辑文本;
编辑文本;
纽扣;
按钮tilbakeButton;
按钮visDataButton;
布鲁克尔名单;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.instillinger);
myDb=新数据库助手(此);
//visNavn=(TextView)findViewById(R.id.visNavn);
visAdresse=(TextView)findViewById(R.id.visAdresse);
//visBil=(TextView)findViewById(R.id.visBil);
navnFelt=(EditText)findViewById(R.id.navnFelt);
adrFelt=(EditText)findViewById(R.id.adrFelt);
bilFelt=(EditText)findViewById(R.id.bilFelt);
lagreButton=(按钮)findViewById(R.id.lagreButton);
tilbakeButton=(按钮)findViewById(R.id.tilbakeButton);
//visDataButton=(按钮)findViewById(R.id.visData);
brukere=myDb.getBrukere();
(布鲁克b:布鲁克){
String log=“Du er registerert som:”+b.getNavn()+“\n”+
ADRESE:“+b.GetADRESE()+”\n”+
Bilmerke:“+b.getBilmerke()+”\n”+
“关于fyll Alle feltene nede的机会信息”;
visadrese.setText(日志);
}
settinnda();
}
公共无效settinnda(){
lagreButton.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
myDb.addContact(新布鲁克(“Giedrius”、“mldc”、“123”、“1”);
brukere=myDb.getBrukere();
(布鲁克b:布鲁克){
String log=“Du er registerert som:”+b.getNavn()+“\n”+
ADRESE:“+b.GetADRESE()+”\n”+
Bilmerke:“+b.getBilmerke()+”\n”+
Bilmerke:“+b.getState()+”\n”+
“关于fyll Alle feltene nede的机会信息”;
visadrese.setText(日志);
}
//myDb.getContact(myDb.getCount()).toString();
}
});
}
}}
只需调用新建的YourAsyncTaskName().execute()即可在按钮侦听器中调用AsyncTask类。祝你好运。简单。。在按钮onclick内调用/执行asynctask。或者,如果要获取asynctask的结果数据,请首先将其存储在Arraylist/SharedPrefs/Database中的某个位置,然后在按钮onclick上从该位置获取数据。您是否尝试过按照Amrit的建议将其添加到onclick中。如果是,你有什么问题?
public class Instillinger extends MainActivity {
DatabaseHelper myDb;
String navn;
String adresse;
String bilmere;
TextView visNavn;
TextView visAdresse;
TextView visBil;
EditText navnFelt;
EditText adrFelt;
EditText bilFelt;
Button lagreButton;
Button tilbakeButton;
Button visDataButton;
List<Bruker> brukere;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.instillinger);
myDb = new DatabaseHelper(this);
// visNavn = (TextView) findViewById(R.id.visNavn);
visAdresse = (TextView) findViewById(R.id.visAdresse);
//visBil = (TextView) findViewById(R.id.visBil);
navnFelt = (EditText) findViewById(R.id.navnFelt);
adrFelt = (EditText) findViewById(R.id.adrFelt);
bilFelt = (EditText) findViewById(R.id.bilFelt);
lagreButton = (Button) findViewById(R.id.lagreButton);
tilbakeButton = (Button) findViewById(R.id.tilbakeButton);
//visDataButton = (Button) findViewById(R.id.visData);
brukere = myDb.getBrukere();
for(Bruker b: brukere){
String log = "Du er registrert som: "+ b.getNavn() + "\n" +
"Adresse: " + b.getAdresse() + "\n" +
"Bilmerke: " + b.getBilmerke() + "\n" +
"For å oppdatere informasjon fyll Alle feltene nede";
visAdresse.setText(log);
}
settInnData();
}
public void settInnData() {
lagreButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
myDb.addContact(new Bruker("Giedrius","mldc","123","1"));
brukere = myDb.getBrukere();
for(Bruker b: brukere){
String log = "Du er registrert som: "+ b.getNavn() + "\n" +
"Adresse: " + b.getAdresse() + "\n" +
"Bilmerke: " + b.getBilmerke() + "\n" +
"Bilmerke: " + b.getState() + "\n" +
"For å oppdatere informasjon fyll Alle feltene nede";
visAdresse.setText(log);
}
//myDb.getContact(myDb.getCount()).toString();
}
});
}
}}