내 활동에 ListView
이 있습니다. 버튼을 클릭하면, AynscTask
이 완료되면이 결과를 보여 onPostExcecuteMethod
있어 BaseAdapter
에서 ListView
그에 부착하는 호출됩니다내 활동 스레드에서 내 어댑터의 행을 어떻게 수정할 수 있습니까?
public class SearchResultsAdapter extends BaseAdapter {
private static ArrayList<Result> objResults;
private Search ctxContext = null;
public SearchResultsAdapter(Search ctxContext, ArrayList<Result> objResults) {
this.ctxContext = ctxContext;
SearchResultsAdapter.objResults = objResults;
}
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater mInflater = LayoutInflater.from(ctxContext);
View vewRow = mInflater.inflate(R.layout.row, null);
TextView tvwName = (TextView) vewRow.findViewById(R.id.name);
tvwName.setText(objResults.get(position).getName());
return vewRow;
}
}
: 어댑터가 매우 단순화 된 노트에 다음과 같습니다
protected void onPostExecute(ArrayList<Result> objResults) {
ListView lvwResults = (ListView) objContext.findViewById(R.id.results);
lvwResults.setAdapter(new SearchResultsAdapter(this.objContext, objResults));
}
처음에 AsyncTask
을 호출 한 주된 활동 인 Activity
에서 나는 SearchResultsAdapter
에있는 결과 목록에서 정렬 및 필터링 작업을 수행하고 싶습니다. 어떻게해야합니까?
어댑터 인스턴스에 액세스 할 수없는 것 같아 기본 UI 스레드에서 어댑터 행에 어떻게 액세스합니까? notifyDatasetChanged()
또는 무엇인가를 호출하는 것에 대해서도 읽었습니까?
감사합니다.