Joe*_*ker 1 multithreading android listview textview
我的应用程序中需要一些线程帮助.我有一个有listview的活动.每个listview项目都有一个按钮和一个textview.我希望每个按钮单击在其自己的线程中运行并更新其行上的相应的textview控件.
我是一个初学Android开发人员,并希望对此有一些意见.我曾尝试过一个AsyncTask子类,但是无法弄清楚如何为每个按钮执行它并让它更新textview.
谢谢!
AsyncTask每次执行click项目时,都必须调用相同的新实例.
OnItemClickListener itemListener = new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long arg3) {
asyncTaskName newTask = new AsyncTaskName(view , position);
newTask.execute();
}
}
Run Code Online (Sandbox Code Playgroud)
视图和位置是构造函数的一部分,因为您希望更新项目,即视图的用途,并且位置是根据asyncTask中的位置执行独特的操作.
在你的asyncTask中,你可能需要类似于我在下面所做的事情.
private class asyncTaskName extends AsyncTask<Void, Void, Void> {
private View mView;
private int mPosition;
public asyncTaskName(View view, int position){
mView = view;
mPosition = position;
}
protected void doInBackground(Void... urls) {
// do something you have to here based on mPosition.
return null;
}
protected void onPostExecute(Void result) {
// now update the textView here
TextView tv = (TextView) mView.findViewById(yourTextViewId);
// now you have reference to tv, probably update the text by
tv.setText(yourString);
}
}
Run Code Online (Sandbox Code Playgroud)
HTH.
| 归档时间: |
|
| 查看次数: |
2135 次 |
| 最近记录: |