0

私は以下のようなリストビューを持っています

ここに画像の説明を入力してください

ラジオベースのアプリケーションの一種です

ユーザーが画像をタップすると、AsyncTaskが呼び出され、音楽が再生され、AMITSIDDHPURAテキストに置き換えられる情報が取得されます。

以下は私のコードです

    holder.imgPlay.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {

                    new MetadataTask2().execute(holder.txtMetadata);



                            }

    class StreamHolder {
        TextView txtStreamName;
        TextView txtStream;
        TextView txtMetadata;
        ImageView imgPlay;
    }

そして、MetaDataTask2クラスコードは以下のとおりです

   class MetadataTask2 extends AsyncTask<TextView, Void, IcyStreamMeta> {
    String title_artist;
    TextView txtView;

    @Override
    protected com.example.xmlparsingex.IcyStreamMeta doInBackground(TextView... arg0) {
        txtView = arg0[0];

        return streamMeta;
    }

    @Override
    protected void onPostExecute(IcyStreamMeta result) {
        try {
            txtView.setText("Hiiiiiiiiiii............");
            MCObjectMetadata.cancel();
            MCObjectMetadata = new MyCounterMetadata(10000, 1000);
            MCObjectMetadata.start();

            **adapter.notifyDataSetChanged();
            mainListView.setAdapter(adapter);
            mainListView.invalidate();**

            startService(new Intent(CompaniesList.this, NotifyService.class));

        } catch (Exception e) {
            e.printStackTrace();
        }

    }

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        try {
            PD = ProgressDialog.show(CompaniesList.this, "Tuning...", "Please Wait...");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

ただし、問題は、リストビューが更新されていないということは、リストビューに表示されているオレンジ色のテキストがHiiiiiiiに置き換えられていないことを意味します。

4

2 に答える 2

0

を呼び出す代わりに、実際にアダプターを再作成する必要がありますnotifyDataSetChanged()説明については、この以前の SO 回答を参照してください。

于 2013-02-14T15:15:08.660 に答える
0

ListView の場合は、アダプターの getView() メソッドでテキストビューを変更することをお勧めします...または、リストがカーソルでバックアップされている場合は、bindView() .....ただし、メソッドについてはわかりません。

于 2013-02-14T13:57:26.687 に答える