Soru & Cevap

Android SPAN_EXCLUSIVE_EXCLUSIVE Hatası

28.09.2019 - 11:39

Merhaba. Android yandex api ile TR-EN çeviri uygulaması yapmaya çalışıyorum. Her şey tamam fakat uygulamayı çalıştırıp çevir butonuna bastığımda bir sonuç alamıyorum. Run kısmında çevir butonuna bastığımda SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length diye hata alıyorum. İnternette araştırdım. Çözüm yolları var fakat işe yaramadı. Ne yapmamı önerirsiniz?

22 Görüntülenme

2 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-262602-1569659506.png
emrevural2003
29.09.2019 - 09:37

Siz kontrol edebilir misiniz? Yorumunuz için teşekkürler.(Dosya eklemeye çalıştım fakat başaramadım galiba biraz daha açıklar mısınız?)

 

/sites/default/files/cevaplar/dosya/2020/file-ekran_resmi_2019-09-29_09.32.00_0.png /sites/default/files/cevaplar/dosya/2020/file-ekran_resmi_2019-09-29_09.32.37_0.png
Profile picture for user furkankaplan
furkankaplan
28.09.2019 - 08:40

Parametlerin null gidip gitmediğini kontrol eder misiniz. Eğer edittext varsa listener eklemek gerekebilir. Eklemediğin için de boş string gönderdiğinizden bu hatayı veriyor olabilir.

Emre Vural
29.09.2019 - 04:02
Nereyi değiştirmem gerekiyor.Rica etsem siz kontrol edebilir misiniz?Teşekkürler :) ImageView iv_tr,iv_en; Button btn_changelan,btn_translate; EditText translatearea; TextView showarea; String languages ="tr-en"; String searchedword; String yandexkey ="(yandexapikey)"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_home); iv_tr =(ImageView)findViewById(R.id.iv_tr); iv_tr.setTag(R.drawable.language1); iv_en =(ImageView)findViewById(R.id.iv_en); iv_en.setTag(R.drawable.language2); btn_changelan =(Button)findViewById(R.id.btn_changelan); btn_translate =(Button)findViewById(R.id.btn_translate); translatearea =(EditText)findViewById(R.id.et_TranslateArea); translatearea.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS); showarea =(TextView)findViewById(R.id.tv_ShowArea); btn_changelan.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { languages = change(iv_tr,iv_en); } }); btn_translate.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { searchedword =translatearea.getText().toString(); String query = null; try { query = URLEncoder.encode(searchedword, "utf-8"); } catch (UnsupportedEncodingException e){ e.printStackTrace(); } } }); } public String change(ImageView flag1,ImageView flag2){ String languages = null; int flag1Tag=(Integer)flag1.getTag(); int flag2Tag =(Integer)flag2.getTag(); flag1.setImageResource(flag2Tag); flag1.setTag(flag2Tag); flag2.setImageResource(flag1Tag); flag2.setImageResource(flag1Tag); if ((Integer)flag1.getTag() == R.drawable.language1 && (Integer)flag2.getTag() == R.drawable.language2){ languages="tr-e+n"; } else if ((Integer)flag1.getTag() == R.drawable.language2 && (Integer)flag2.getTag() == R.drawable.language1){ languages="en-tr"; } return languages; } class TranslatorBackgroundTask extends AsyncTask{ @Override protected String doInBackground(String... params){ String urlString=params[0]; StringBuilder jsonString = new StringBuilder(); try { URL yandexUrl = new URL(urlString); HttpURLConnection httpURLConnection =(HttpURLConnection)yandexUrl.openConnection(); InputStream inputStream =httpURLConnection.getInputStream(); BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); String line; while ((line=bufferedReader.readLine()) != null ){ jsonString.append(line); } inputStream.close(); bufferedReader.close(); httpURLConnection.disconnect(); } catch (IOException e) { e.printStackTrace(); } return jsonString.toString(); } @Override protected void onPostExecute(String json){ JsonObject jsonObject =new JsonParser().parse(json).getAsJsonObject(); String result =jsonObject.get("text").getAsString(); showarea.setText(result); } } }