有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java将onPostExecute应用于onClickListener

我制作了一个与AsyncTask一起工作的程序,它在执行程序时打印JSON数据列表,但问题是我希望在按下按钮时执行它。如何将AsyncTask的结果放入我的onClickButtonListener中?如何从onClick调用AsyncTask

代码:

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

共 (1) 个答案

  1. # 1 楼答案

    只需调用new YourAsyncTaskName(),即可在按钮侦听器内调用AsyncTask类。执行()。祝你好运