Eu tenho o seguinte layout (praticamente vazio):
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/set_layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:contentDescription="content desc"
android:orientation="vertical" >
<TextView android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello, I am a TextView" />
</LinearLayout>
A classe Activity contém o seguinte:
public class TestActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
}
}
Quando executo isso no meu dispositivo móvel, recebo o seguinte erro:
SpannableStringBuilder
SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
Eu tentei isso com e sem o TextView e o erro ainda permanece, devo estar fazendo algo fundamentalmente errado para que um layout tão básico cause isso.
Alguém tem alguma idéia de como posso fazer isso carregar sem o erro?
android:contentDescription
deLinearLayout
, como o recipiente não é focusable e, portanto, a descrição não será usado AFAIK.Respostas:
Eu encontrei as mesmas entradas de erro no LogCat. No meu caso, é causado pelo teclado de terceiros que estou usando. Quando eu mudo de volta para o teclado Android, a entrada de erro não aparece mais.
fonte
Porque o erro que você está recebendo é não relacionado a um
EditText
, então é não relacionado com o seu teclado.Os erros que você está recebendo não são resultado do seu código; você provavelmente está testando em um dispositivo Samsung que possui o TouchWiz da Samsung.
Eu tive os mesmos erros, testei em um Nexus S (também da Samsung, mas puro Android OS sem TouchWiz) e não recebi esse erro.
Portanto, no seu caso, ignore esses erros enquanto estiver testando em um dispositivo! :)
fonte
Olhando para o seu código, não sei por que você está recebendo esse erro, mas tive o mesmo erro, mas com os campos EditText.
Alterar
android:inputType="text"
(ou qualquer outra variação de texto inputType) paraandroid:inputType="textNoSuggestions"
(ouandroid:inputType="textEmailAddress|textNoSuggestions"
, por exemplo) corrigiu isso para mim.Você também pode definir isso no Code com algo como
Parece que o Android assume por padrão que os campos EditText terão sugestões. Quando não o fazem, erros. Não estou 100% confiante nessa explicação, mas as alterações acima mencionadas o corrigiram.
http://developer.android.com/reference/android/text/Spanned.html#SPAN_EXCLUSIVE_EXCLUSIVE
Espero que isto ajude!
fonte
No seu telefone Android, vá para:
configurações -> gerenciador de aplicativos -> tudo -> teclado samsung e clique em "limpar cache"
(exclua todos os dados coletados por este aplicativo).
fonte
Tente usar o teclado Android padrão, ele desaparecerá
fonte
Deixe claro que você passou um valor em sua MainAcitivity para os seguintes métodos onCreateOptionsMenu e onCreate
Em alguns casos, o desenvolvedor exclui a instrução "return super.onCreateOptionsMenu (menu)" e mudou para "return true".
fonte
No código Java:
fonte
Tive o mesmo aviso e descobri que a remoção de um @id não utilizado se livrou do aviso. Para mim, era óbvio que o @id estava associado a uma lista crescente de visualizações de texto vinculadas a um banco de dados; portanto, havia um aviso para cada entrada.
fonte
Masood Moshref está certo, esse erro ocorre porque o menu de opções do Menu não está bem preparado por falta de "return super.onCreateOptionsMenu (menu)" no método onCreate ().
fonte
Para tentar depurar esse erro, primeiro vá ao seu terminal / console do Android e execute este comando:
se a saída sair como seu aplicativo ... é seu aplicativo que está causando o erro. Tente procurar o vazio
Strings
que você passa para olayout
.Eu tive exatamente o mesmo problema e a culpa foi minha, pois estava passando um espaço vazio
String
no meu layout. Depois de mudar""
para" "
este erro foi embora.Se você não obtiver seu aplicativo da saída do console, isso causará outra coisa (provavelmente, como outros disseram, o teclado do Android)
fonte
Eu enfrentei o mesmo problema. Quase perdi quase duas semanas para resolver esse problema. Por fim, fiquei com dúvidas e tentei criar outro projeto copiando e colando alguns arquivos de inicialização como o SplashScreen & LoginScreen.
Mas com o mesmo código ainda estava recebendo SPAN_EXCLUSIVE_EXCLUSIVE .
Em seguida, removi o código do manipulador da tela inicial e tentei novamente e o Wow está funcionando. Não estou recebendo o problema SPAN_EXCLUSIVE_EXCLUSIVE no logcat .
Eu me pergunto, por que é? até o momento não ter outra solução, mas removendo o manipulador da tela inicial, ele está funcionando.
Tente atualizar aqui se for resolvido ou não.
fonte
Verifique se há algum elemento, como botão ou exibição de texto, duplicado (copiado duas vezes) na tela em que isso ocorre. Eu fiz isso despercebido e tive que enfrentar o mesmo problema.
fonte
Também tive esse problema quando copiei algum texto da Internet. Minha solução é aparar o texto / remover a formatação antes de fazer qualquer outro processamento.
fonte
Eu tive o mesmo problema, mas com um listView .... eu o resolvi porque estava usando um R.id.listView errado nessa exibição de lista necessária para ter um valor, no meu caso, foram as cordas que salvei no listView2 ... então o código certo era R.id.listView2
fonte
Eu tive o mesmo problema, então eu o corrigi seguindo o código!
fonte
esse erro também ocorre devido à alteração do URL da API. tente acessar a URL que você está usando no carteiro ec se estiver funcionando corretamente. verificar novamente as APIs resolveu meu problema
fonte
tente evitar o uso da visualização no design xml.Também tive o mesmo problema, mas quando removi a view. funcionou perfeitamente.
como exemplo:
também verifique e tente alterar por tentativa e erro android: inputType = "number" para android: inputType = "text" ou melhor, não o utilize, se não for necessário. Às vezes, o teclado fica preso e ocorre um erro em alguns dos dispositivos.
fonte
No meu caso, os campos EditText com inputType como text / textCapCharacters estavam apresentando esse erro. Notei isso no meu logcat sempre que usei o backspace para remover completamente o texto digitado em qualquer um desses campos.
A solução que funcionou para mim foi alterar o inputType desses campos para textNoSuggestions, pois esse era o tipo mais adequado e não me causava mais erros indesejados.
fonte