私は以下のようなリストビューを持っています
ラジオベースのアプリケーションの一種です
ユーザーが画像をタップすると、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に置き換えられていないことを意味します。