Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将onPostExecute应用于onClickListener_Java_Android_Json - Fatal编程技术网

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();
         }
        });
    }
}}