我想使用 AsyncTask 更新 TextView 的文本。
我有列表视图,其中有两个 TextView,一个是 ImageView
当用户按下 ImageView 按钮时,歌曲将从服务器端播放。所以我把代码放在 AsyncTask 任务中
这是一个自定义适配器,我在下面调用 ImageView 的点击事件是我的代码示例,如下所示
public View getView(final int position, View convertView,
ViewGroup parent) {
holder.imgPlay.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
和 onclick 事件我在 asynctask 中传递 textview,我想在从 Internet 获取数据后进行更改,所以下面是我的代码
new MetadataTask2().execute(holder.txtMetadata);
现在 AsyncTask 的代码如下
class MetadataTask2 extends AsyncTask<TextView, Void, IcyStreamMeta> {
TextView txtView;
@Override
protected IcyStreamMeta doInBackground(
TextView... arg0) {
//SOME OPERATION
txtView = arg0[0];
return streamMeta;
}
@Override
protected void onPostExecute(IcyStreamMeta result) {
txtView.setText("Hiiiiiiii");
}
@Override
protected void onPreExecute() {
super.onPreExecute();
try {
PD = ProgressDialog.show(CompaniesList.this, "Tuning...",
"Please Wait...");
} catch (Exception e) {
e.printStackTrace();
}
}
}
现在在这里你可以看到 textView.setText("Hiii") 文本将被更新,但它不会反映在 Listview 中,因为我必须更新 ListView 或 Adapter 但不知道该怎么做,所以我可以看到文本listview 任何机构都可以帮助我吗
我已经使用下面的代码来更新列表视图,但仍然什么都不做
adapter.notifyDataSetChanged();
mainListView.setAdapter(adapter);
mainListView.invalidate();