第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

片段中的 onPostExecute 輸出

片段中的 onPostExecute 輸出

絕地?zé)o雙 2022-07-27 09:42:29
我有一個(gè)工作 AsyncTask 從服務(wù)器獲取數(shù)據(jù)并將其顯示在 TextView 中。但是是否可以將數(shù)據(jù)輸出到位于片段中的 TextView 中?因此,假設(shè) AsyncTask 在 MainActivity 中加載,輸出將在一個(gè)片段中。這是我的異步任務(wù): private static class FtpDownload extends AsyncTask<String, String, String> {        private WeakReference<GuidanceActivity> activityWeakReference;        FtpDownload(GuidanceActivity activity) {            activityWeakReference = new WeakReference<>(activity);        }        @Override        protected void onPreExecute() {            super.onPreExecute();        }        @Override        protected String doInBackground(String... FTPconnection) {            GuidanceActivity activity = activityWeakReference.get();            if (activity == null || activity.isFinishing()) {                return null;            }            try {                FTPClient ftpClient = new FTPClient();                ftpClient.connect("", 21);                System.out.println(ftpClient.getReplyString());                ftpClient.enterLocalPassiveMode();                ftpClient.login("anonymous", "");                ftpClient.changeWorkingDirectory("/");                InputStream inStream = ftpClient.retrieveFileStream(".html");                activity.contents = IOUtils.toString(inStream, StandardCharsets.UTF_8);                System.out.println(activity.contents);                ftpClient.disconnect();            } catch (IOException e) {                e.printStackTrace();            }            return null;        }        @Override        protected void onPostExecute(String output) {            GuidanceActivity activity = activityWeakReference.get();            if (activity == null || activity.isFinishing()) {                return;            }            TextView textView = activity.findViewById(R.id.text_view);            textView.setText(Html.fromHtml(activity.contents));        }    }
查看完整描述

2 回答

?
莫回?zé)o

TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊

在您的片段中:


public class MyFragment extends Fragment { 

   TextView myTextView;


   @Nullable

   @Override

  public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

     super.onCreateView(inflater, container, savedInstanceState);

     View view = View root = inflater.inflate(R.layout.my_frag_layout, null);

     myTextView = (TextView) view.findViewById(R.id.myTextView);

     //rest of your implementation of onCreateView

     return view;

   }


   //this will be called from activity

   public void updateTextView(String text) { 

       myTextView.setText(text);          

   }


}

在您的活動(dòng)中:


public class MyActivity extends AppCompatActivity { 

   private final String FRAGMENT_TAG = "myFragment";


   private static class FtpDownload extends AsyncTask<String, String, String> {


    //rest of your FtpDownload class


    @Override

    protected void onPostExecute(String output) {


        GuidanceActivity activity = activityWeakReference.get();

        if (activity == null || activity.isFinishing()) {

            return;

        }

        MyFragment fragment = (MyFragment) getSupportFragmentManager().findFragmentByTag(FRAGMENT_TAG );

        /* or 

        MyFragment fragment = (MyFragment) getSupportFragmentManager().findFragmentById(R.id.fragment );

        if your fragment is in an xml layout */


        fragment.updateTextView(Html.fromHtml(activity.contents));

    }

  }


}


查看完整回答
反對(duì) 回復(fù) 2022-07-27
?
縹緲止盈

TA貢獻(xiàn)2041條經(jīng)驗(yàn) 獲得超4個(gè)贊

對(duì)的,這是可能的。這是來自 MainActivity 的 WiFi 掃描示例,結(jié)果顯示在片段中。我相信您可以理解邏輯并將其轉(zhuǎn)換為您的項(xiàng)目


主要活動(dòng):


public class MainActivity extends AppCompatActivity implements FragmentDiscoverWiFi.ScanWiFi;


//public variable

FragmentDiscoverWiFi fragmentDiscoverWiFi;


//This will be called from your fragment

@Override

public void onScanWiFi(FragmentDiscoverWiFi fragment) {

        fragmentDiscoverWiFi = fragment;

}


//use something like this when your want to update fragment

fragmentDiscoverWiFi.onScanWiFiComplete();

分段:


public class FragmentDiscoverWiFi extends Fragment {


    private Context mContext;

    public interface ScanWiFi {

        public void onScanWiFi(FragmentDiscoverWiFi fragment);

    }


    public FragmentDiscoverWiFi() {

        // Required empty public constructor

    }


    @Override

    public void onAttach(Context context) {

        mContext = context;

        super.onAttach(context);

    }


    public void onScanWiFiComplete() {

        if (!isDetached()) {

            //Access your data from MainActivity like this: 

        Log.d(TAG, "Total APs:" + ((MainActivity) mContext).wifiScanResults.size());

        }

    }


@Override

public void onResume() {

        super.onResume();


        if (!getUserVisibleHint()) {

            return;

        }

    pullToRefreshText = rootView.findViewById(R.id.pullToRefreshText);

        pullToRefresh = rootView.findViewById(R.id.pullToRefresh);

        pullToRefresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {

            @Override

            public void onRefresh() {


                Log.d(TAG, "refreshing...");

                pullToRefresh.setRefreshing(true);

                ((MainActivity)mContext).onScanWiFi(FragmentDiscoverWiFi.this);

            }

        });

     }

}


查看完整回答
反對(duì) 回復(fù) 2022-07-27
  • 2 回答
  • 0 關(guān)注
  • 138 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)