0

我仍然在调用 startUpload(position); getView(...) {} 方法中的方法,但现在我想调用它

   loginbutton.setOnClickListener(new View.OnClickListener() {....}

像这样,但总是我得到的位置无法解析为变量 ,所以在这里我想知道我应该如何编写方法才能在类中的任何地方使用它:

             loginbutton.setOnClickListener(new View.OnClickListener() {

                @Override
                    public void onClick(View v) {
                    SaveData();     
                    alertDialog.dismiss();  
                    startUpload(position);
                    }

下面是方法, startUpload(...){...}

//Upload
        public void startUpload(final int position) {      
            Runnable runnable = new Runnable() {

                public void run() {
                    handler.post(new Runnable() {
                        public void run() {
                            View v = lstView.getChildAt(position - lstView.getFirstVisiblePosition());
                            // Show ProgressBar
                            ProgressBar progress = (ProgressBar)v.findViewById(R.id.progressBar);
                            progress.setVisibility(View.VISIBLE);

                            //  Status  
                            TextView status = (TextView)v.findViewById(R.id.ColStatus);
                            status.setText("Uploading..");

                            new UploadFileAsync().execute(String.valueOf(position));   
                        }
                    }); 
                }
            };
            new Thread(runnable).start();
        }
4

2 回答 2

0

尝试使用以下语法。

loginbutton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        SaveData();     
        alertDialog.dismiss();  
        startUpload(OldUploadActivity.this.position);
    }
}
于 2013-07-02T10:50:15.733 回答
0

您还需要添加final int position为参数onPrepareDialog();就像你将它传递给getView()方法一样。此外,通过传递实际位置值来更新实际调用此方法的代码行。

public void onPrepareDialog(final int position, int id, Dialog dialog) {
于 2013-07-02T10:56:25.083 回答