runOnUiThread parçası
Parça için bir etkinliğe dönüştürmek için çalışıyorum. runOnUiThreadhata işareti.
geçmiş:
GoogleActivityV2 Faaliyet uzanır. runOnUiThread sınıfta ExecuteTask. sınıf ExecuteTask aktivite iç içe.
(Çalıştır Tamam) şimdi :
GoogleActivityV2 Parçası uzanır. runOnUiThread sınıfta ExecuteTask. sınıf ExecuteTask aktivite iç içe. (Hata runOnUiThread)
iÅŸte benim kod
public class GoogleActivityV2 extends SherlockMapFragment implements OnMapClickListener , OnMapLongClickListener , OnCameraChangeListener , TextWatcher {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
View rootView = inflater.inflate(R.layout.activity_googlev2, container, false);
Init();
adapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_dropdown_item_1line);
textView = (AutoCompleteTextView) getView().findViewById(R.id.autoCompleteTextView1);
return rootView;
}
public void onCameraChange(CameraPosition arg0){
// TODO Auto-generated method stub
}
public void onMapLongClick(LatLng arg0){
llLoc = arg0;
stCommand = "onTouchEvent";
lp = new ExecuteTask();
lp.execute();
}
public void onMapClick(LatLng arg0){
// TODO Auto-generated method stub
}
class ExecuteTask extends AsyncTask<String, String, String> {
@Override
protected void onPreExecute(){
super.onPreExecute();
if(stCommand.compareTo("AutoCompleteTextView") != 0) {
pDialog = new ProgressDialog(getActivity());
pDialog.setMessage(Html.fromHtml("<b>Search</b><br/>Loading ..."));
pDialog.setIndeterminate(false);
pDialog.setCancelable(false);
pDialog.show();
}
}
protected String doInBackground(String ... args){
do something
return null;
}
@Override
protected void onPostExecute(String file_url){
if(stCommand.compareTo("AutoCompleteTextView") != 0) pDialog.dismiss();
runOnUiThread(new Runnable() {
public void run(){
do something
}
});
}
}
public void afterTextChanged(Editable s){
// TODO Auto-generated method stub
}
public void beforeTextChanged(CharSequence s, int start, int count, int after){
// TODO Auto-generated method stub
}
public void onTextChanged(CharSequence s, int start, int before, int count){
// TODO Auto-generated method stub
}
}
hata diyor ki:

bu hatayı nasıl düzeltebilirim?
CEVAP
Bu deneyin: getActivity().runOnUiThread(new Runnable...
Çünkü:
1) runOnUiThread çağrı this örtülü AsyncTask, parçası değil dir.
2) Fragment runOnUiThread yok
ancak Activity:
Bu sadece ana konu üzerinde değil, eğer yoksa zaten ana konu üzerinde iseniz Runnable çalıştırır ve Handler bir kullandığına dikkat edin. Eğer this aslında çok kolay içeriği hakkında endişelenmene gerek yok, eğer senin parçası Handler bir uygulayabilirsiniz:
http://developer.android.com/reference/android/os/Handler.html
EDİT: @rciovati haklı, zaten ana konu üzerinde onPostExecute de ben.

Eğer redis zaten yığının bir parçası i...
Nasıl "yinelenen OLMADAN birden f...
ViewPager bir parçası olarak ListFragm...
Eğer kodu birim testinin bir parçası o...
Dönüş türü işlev imzası bir parçası mı...