0

がありFragment、その中に がありListViewます。今、私はAsyncTaskの助けを借りてインターネットからデータを取得するために使用していますdoInBackGround()ArrayAdapter今、私はin の助けを借りてそのデータを の中onPostExecute()にある ListViewに設定したいと思いますFragmentListView内にある内にデータを追加するにはどうすればよいFragmentですか?

私にFragmentContext.

package com.example.the_hindu_news;

import android.content.Context;
import android.os.AsyncTask;
import android.util.Log;
import android.widget.ArrayAdapter;
import android.widget.ListAdapter;
import android.widget.ListView;

public class Async_list extends AsyncTask<Context, Integer, String> {

    private Internet_list ob_il;
    private String[] news;
    private String[] link;
    ListView ls;
    Base_class ob_bc;

    public Async_list(ListView ls, Base_class ob_bc) {
        this.ls = ls;
        this.ob_bc = ob_bc;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    protected String doInBackground(Context... params) {
        try {
            ob_il = new Internet_list();

            ob_il.parser();
            ob_il.parse_VIA_pull_parser();

            news = ob_il.return_news();
            link = ob_il.return_links();
        } catch (final Exception err) {
            Log.i("doInBackGround() : " + err.toString(), "tushar");
        }
        return null;
    }

    /**
     * {@inheritDoc}
     */
    @Override
    protected void onPostExecute(String result) {
        try {
            final ArrayAdapter<String> adapter = new ArrayAdapter<String>(ob_bc,
                    android.R.layout.simple_list_item_1, news);
            ls.setAdapter(adapter);
        } catch (final Exception err) {
            Log.i("onPostExecute() : " + err.toString(), "tushar");
        }
    }
}
4

1 に答える 1

0

たとえば、インターフェイスを定義します。

interface NetworkListener <T>{
    public void updateData(List<T>);
}

フラグメントはこのインターフェースを実装し、リストを更新します。AsyncTask にインターフェイスを提供します。

于 2013-03-18T08:09:23.473 に答える