Массивы в Android Studio KoalaAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Массивы в Android Studio Koala

Сообщение Anonymous »

У меня есть беспокойство: правильный ли это способ создания массивов в Android Studio Koala, потому что в приложении, которое я пишу, если я запускаю без массивов, оно работает, но если я помещаю массивы, оно закрывает приложение сразу после открытия (вылетает).

Код: Выделить всё

List  minhaLista = Arrays.asList("dinossauro", "baixista", "lobo", "palhaco");
Это код MainActivity:

Код: Выделить всё

package com.bygaanv.palavrasembaralhadas;

import android.annotation.SuppressLint;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import androidx.appcompat.app.AppCompatActivity;

import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class MainActivity extends AppCompatActivity {

private TextView txtTotalPontos, txtDica, txtPalavraCerta;
private TextView txtLetraMontada1, txtLetraMontada2, txtLetraMontada3, txtLetraMontada4, txtLetraMontada5, txtLetraMontada6, txtLetraMontada7, txtLetraMontada8, txtLetraMontada9, txtLetraMontada10,txtLetraMontada11, txtLetraMontada12, txtLetraMontada13;
private TextView txtLetraMontada14, txtLetraMontada15, txtLetraMontada16, txtLetraMontada17, txtLetraMontada18, txtLetraMontada19, txtLetraMontada20, txtLetraMontada21, txtLetraMontada22, txtLetraMontada23, txtLetraMontada24, txtLetraMontada25, txtLetraMontada26;

private String palavraEmbaralhada, letraDigitada, palavraSemEdicao, nomeSelecionado, palavra;

private Button buttonLetra1, buttonLetra2, buttonLetra3, buttonLetra4, buttonLetra5, buttonLetra6, buttonLetra7, buttonLetra8, buttonLetra9, buttonLetra10, buttonLetra11, buttonLetra12, buttonLetra13;
private Button buttonLetra14, buttonLetra15, buttonLetra16, buttonLetra17, buttonLetra18, buttonLetra19, buttonLetra20, buttonLetra21, buttonLetra22, buttonLetra23, buttonLetra24, buttonLetra25, buttonLetra26;
private Button btnEmbaralhar, btnSair, btnJogarNovamente;

private String ClickBtn1, ClickBtn2, ClickBtn3, ClickBtn4, ClickBtn5, ClickBtn6, ClickBtn7, ClickBtn8, ClickBtn9, ClickBtn10, ClickBtn11, ClickBtn12, ClickBtn13;
private String ClickBtn14, ClickBtn15, ClickBtn16, ClickBtn17, ClickBtn18, ClickBtn19, ClickBtn20, ClickBtn21, ClickBtn22, ClickBtn23, ClickBtn24, ClickBtn25, ClickBtn26;

private int posicaoLista;

private String letra0, letra1, letra2, letra3, letra4, letra5, letra6, letra7, letra8, letra9, letra10, letra11, letra12, letra13, letra14, letra15, letra16, letra17, letra18, letra19, letra20, letra21, letra22, letra23, letra24,  letra25;
@SuppressLint("ObsoleteSdkInt")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

novoJogo();

btnSair.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});

btnEmbaralhar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
novoJogo();
}
});

buttonLetra1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(ClickBtn1.equals("nao")){
ClickBtn1 = "sim";
buttonLetra1.setBackground(Drawable.createFromPath("#0F3A01"));

}
}
});

buttonLetra2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(ClickBtn2.equals("nao")){
ClickBtn2 = "sim";
buttonLetra2.setBackground(Drawable.createFromPath("#0F3A01"));

}
}
});

buttonLetra3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(ClickBtn3.equals("nao")){
ClickBtn3 = "sim";
buttonLetra3.setBackground(Drawable.createFromPath("#0F3A01"));

}
}
});

buttonLetra4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(ClickBtn4.equals("nao")){
ClickBtn4 = "sim";
buttonLetra4.setBackground(Drawable.createFromPath("#0F3A01"));

}
}
});

buttonLetra5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(ClickBtn5.equals("nao")){
ClickBtn5 = "sim";
buttonLetra5.setBackground(Drawable.createFromPath("#0F3A01"));

}
}
});

buttonLetra6.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(ClickBtn6.equals("nao")){
ClickBtn6 = "sim";
buttonLetra6.setBackground(Drawable.createFromPath("#0F3A01"));

}
}
});

buttonLetra7.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(ClickBtn7.equals("nao")){
ClickBtn7 = "sim";
buttonLetra7.setBackground(Drawable.createFromPath("#0F3A01"));

}
}
});

buttonLetra8.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(ClickBtn8.equals("nao")){
ClickBtn8 = "sim";
buttonLetra8.setBackground(Drawable.createFromPath("#0F3A01"));

}
}
});

buttonLetra9.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(ClickBtn9.equals("nao")){
ClickBtn9 = "sim";
buttonLetra9.setBackground(Drawable.createFromPath("#0F3A01"));

}
}
});

buttonLetra10.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)  {
if(ClickBtn10.equals("nao")){
ClickBtn10 = "sim";
buttonLetra10.setBackground(Drawable.createFromPath("#0F3A01"));

}
}
});

buttonLetra11.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(ClickBtn11.equals("nao")){
ClickBtn11 = "sim";
buttonLetra11.setBackground(Drawable.createFromPath("#0F3A01"));

}
}
});

buttonLetra12.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(ClickBtn12.equals("nao")){
ClickBtn12 = "sim";
buttonLetra12.setBackground(Drawable.createFromPath("#0F3A01"));

}
}
});

buttonLetra13.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(ClickBtn13.equals("nao")){
ClickBtn13 = "sim";
buttonLetra13.setBackground(Drawable.createFromPath("#0F3A01"));

}
}
});

buttonLetra14.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(ClickBtn14.equals("nao")){
ClickBtn14 = "sim";
buttonLetra14.setBackground(Drawable.createFromPath("#0F3A01"));

}
}
});

buttonLetra15.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(ClickBtn15.equals("nao")){
ClickBtn15 = "sim";
buttonLetra15.setBackground(Drawable.createFromPath("#0F3A01"));

}
}
});

buttonLetra16.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(ClickBtn16.equals("nao")){
ClickBtn16 = "sim";
buttonLetra16.setBackground(Drawable.createFromPath("#0F3A01"));

}
}
});

buttonLetra17.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(ClickBtn17.equals("nao")){
ClickBtn17 = "sim";
buttonLetra17.setBackground(Drawable.createFromPath("#0F3A01"));

}
}
});

buttonLetra18.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(ClickBtn18.equals("nao")){
ClickBtn18 = "sim";
buttonLetra18.setBackground(Drawable.createFromPath("#0F3A01"));

}
}
});

buttonLetra19.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(ClickBtn19.equals("nao")){
ClickBtn19 = "sim";
buttonLetra19.setBackground(Drawable.createFromPath("#0F3A01"));

}
}
});

buttonLetra20.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(ClickBtn20.equals("nao")){
ClickBtn20 = "sim";
buttonLetra20.setBackground(Drawable.createFromPath("#0F3A01"));

}
}
});

buttonLetra21.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)  {
if(ClickBtn21.equals("nao")){
ClickBtn21 = "sim";
buttonLetra21.setBackground(Drawable.createFromPath("#0F3A01"));

}
}
});

buttonLetra22.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(ClickBtn22.equals("nao")){
ClickBtn22 = "sim";
buttonLetra22.setBackground(Drawable.createFromPath("#0F3A01"));

}
}
});

buttonLetra23.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(ClickBtn23.equals("nao")){
ClickBtn23 = "sim";
buttonLetra23.setBackground(Drawable.createFromPath("#0F3A01"));

}
}
});

buttonLetra24.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(ClickBtn24.equals("nao")){
ClickBtn24 = "sim";
buttonLetra24.setBackground(Drawable.createFromPath("#0F3A01"));

}
}
});

buttonLetra25.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(ClickBtn25.equals("nao")){
ClickBtn25 = "sim";
buttonLetra25.setBackground(Drawable.createFromPath("#0F3A01"));

}
}
});

buttonLetra26.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)  {
if(ClickBtn26.equals("nao")){
ClickBtn26 = "sim";
buttonLetra26.setBackground(Drawable.createFromPath("#0F3A01"));

}
}
});
}

private void novoJogo(){
txtTotalPontos = findViewById(R.id.txtTotalPontos);
txtDica = findViewById(R.id.txtDica);
txtPalavraCerta = findViewById(R.id.txtPalavraCerta);

txtLetraMontada1 = findViewById(R.id.txtLetraMontada1);
txtLetraMontada2 = findViewById(R.id.txtLetraMontada2);
txtLetraMontada3 = findViewById(R.id.txtLetraMontada3);
txtLetraMontada4 = findViewById(R.id.txtLetraMontada4);
txtLetraMontada5 = findViewById(R.id.txtLetraMontada5);

txtLetraMontada6 = findViewById(R.id.txtLetraMontada6);
txtLetraMontada7 = findViewById(R.id.txtLetraMontada7);
txtLetraMontada8 = findViewById(R.id.txtLetraMontada8);
txtLetraMontada9 = findViewById(R.id.txtLetraMontada9);
txtLetraMontada10 = findViewById(R.id.txtLetraMontada10);

txtLetraMontada11 = findViewById(R.id.txtLetraMontada11);
txtLetraMontada12 = findViewById(R.id.txtLetraMontada12);
txtLetraMontada13 = findViewById(R.id.txtLetraMontada13);
txtLetraMontada14 = findViewById(R.id.txtLetraMontada14);
txtLetraMontada15 = findViewById(R.id.txtLetraMontada15);

txtLetraMontada16 = findViewById(R.id.txtLetraMontada16);
txtLetraMontada17 = findViewById(R.id.txtLetraMontada17);
txtLetraMontada18 = findViewById(R.id.txtLetraMontada18);
txtLetraMontada19 = findViewById(R.id.txtLetraMontada19);
txtLetraMontada20 = findViewById(R.id.txtLetraMontada20);

txtLetraMontada21 = findViewById(R.id.txtLetraMontada21);
txtLetraMontada22 = findViewById(R.id.txtLetraMontada22);
txtLetraMontada23 = findViewById(R.id.txtLetraMontada23);
txtLetraMontada24 = findViewById(R.id.txtLetraMontada24);
txtLetraMontada25 = findViewById(R.id.txtLetraMontada25);
txtLetraMontada26 = findViewById(R.id.txtLetraMontada26);

buttonLetra1 = findViewById(R.id.buttonLetra1);
buttonLetra2 = findViewById(R.id.buttonLetra2);
buttonLetra3 = findViewById(R.id.buttonLetra3);
buttonLetra4 = findViewById(R.id.buttonLetra4);
buttonLetra5 = findViewById(R.id.buttonLetra5);

buttonLetra6 = findViewById(R.id.buttonLetra6);
buttonLetra7 = findViewById(R.id.buttonLetra7);
buttonLetra8 = findViewById(R.id.buttonLetra8);
buttonLetra9 = findViewById(R.id.buttonLetra9);
buttonLetra10 = findViewById(R.id.buttonLetra10);

buttonLetra11 = findViewById(R.id.buttonLetra11);
buttonLetra12 = findViewById(R.id.buttonLetra12);
buttonLetra13 = findViewById(R.id.buttonLetra13);
buttonLetra14 = findViewById(R.id.buttonLetra14);
buttonLetra15 = findViewById(R.id.buttonLetra15);

buttonLetra16 = findViewById(R.id.buttonLetra16);
buttonLetra17 = findViewById(R.id.buttonLetra17);
buttonLetra18 = findViewById(R.id.buttonLetra18);
buttonLetra19 = findViewById(R.id.buttonLetra19);
buttonLetra20 = findViewById(R.id.buttonLetra20);

buttonLetra21 = findViewById(R.id.buttonLetra21);
buttonLetra22 = findViewById(R.id.buttonLetra22);
buttonLetra23 = findViewById(R.id.buttonLetra23);
buttonLetra24 = findViewById(R.id.buttonLetra24);
buttonLetra25 = findViewById(R.id.buttonLetra25);
buttonLetra26 = findViewById(R.id.buttonLetra26);

btnEmbaralhar = findViewById(R.id.btnEmbaralhar);
btnSair = findViewById(R.id.btnSair);
btnJogarNovamente = findViewById(R.id.btnJogarNovamente);

zeraLetras();

palavra = "listaNomes()";
palavraSemEdicao = palavra.toUpperCase();
String texto = embaralharPalavra(palavra);
palavraEmbaralhada = texto.toUpperCase();

colocaLetrasNosBotoes();

}

public String listaNomes(){

List  minhaLista = Arrays.asList("dinossauro", "baixista", "lobo", "palhaco");
posicaoLista = 0;
nomeSelecionado = minhaLista.get(posicaoLista);
txtPalavraCerta.setText(nomeSelecionado);
return nomeSelecionado;
}

public String listaDica(){

List minhaListaDicas = Arrays.asList("animal", "profissão", "animal", "profissão");
String dica = minhaListaDicas.get(posicaoLista);
txtDica.setText(dica);
return nomeSelecionado;
}

private String embaralharPalavra(String palavra){
List  letras = Arrays.asList(palavra.split(""));
Collections.shuffle(letras);
String palavraEmbaralhada = "";

for (String letra:  l e t r a s ) { < b r   / >                         p a l a v r a E m b a r a l h a d a   + =   l e t r a ; < b r   / >                 } < b r   / > < b r   / >                 r e t u r n   p a l a v r a E m b a r a l h a d a ; < b r   / >         } < b r   / > < b r   / > < b r   / > < b r   / >               p r i v a t e   v o i d   c o l o c a L e t r a s N o s B o t o e s ( ) { < b r   / >               S t r i n g   m i n h a P a l a v r a   =   p a l a v r a E m b a r a l h a d a ; < b r   / > < b r   / >               l e t r a 0   =   S t r i n g . v a l u e O f ( m i n h a P a l a v r a . c h a r A t ( 0 ) ) ; < b r   / >               l e t r a 1   =   S t r i n g . v a l u e O f ( m i n h a P a l a v r a . c h a r A t ( 1 ) ) ; < b r   / >               l e t r a 2   =   S t r i n g . v a l u e O f ( m i n h a P a l a v r a . c h a r A t ( 2 ) ) ; < b r   / >               l e t r a 3   =   S t r i n g . v a l u e O f ( m i n h a P a l a v r a . c h a r A t ( 3 ) ) ; < b r   / >               l e t r a 4   =   S t r i n g . v a l u e O f ( m i n h a P a l a v r a . c h a r A t ( 4 ) ) ; < b r   / > < b r   / >               l e t r a 5   =   S t r i n g . v a l u e O f ( m i n h a P a l a v r a . c h a r A t ( 5 ) ) ; < b r   / >               l e t r a 6   =   S t r i n g . v a l u e O f ( m i n h a P a l a v r a . c h a r A t ( 6 ) ) ; < b r   / >               l e t r a 7   =   S t r i n g . v a l u e O f ( m i n h a P a l a v r a . c h a r A t ( 7 ) ) ; < b r   / >               l e t r a 8   =   S t r i n g . v a l u e O f (minhaPalavra.charAt(8));
letra9 = String.valueOf(minhaPalavra.charAt(9));

letra10 = String.valueOf(minhaPalavra.charAt(10));
letra11 = String.valueOf(minhaPalavra.charAt(11));
letra12 = String.valueOf(minhaPalavra.charAt(12));
letra13 = String.valueOf(minhaPalavra.charAt(13));
letra14 = String.valueOf(minhaPalavra.charAt(14));

letra15 = String.valueOf(minhaPalavra.charAt(15));
letra16 = String.valueOf(minhaPalavra.charAt(16));
letra17 = String.valueOf(minhaPalavra.charAt(17));
letra18 = String.valueOf(minhaPalavra.charAt(18));
letra19 = String.valueOf(minhaPalavra.charAt(19));

letra20 = String.valueOf(minhaPalavra.charAt(20));
letra21 = String.valueOf(minhaPalavra.charAt(21));
letra22 = String.valueOf(minhaPalavra.charAt(22));
letra23 = String.valueOf(minhaPalavra.charAt(23));
letra24 = String.valueOf(minhaPalavra.charAt(24));
letra25 = String.valueOf(minhaPalavra.charAt(25));

buttonLetra1.setText(letra0);
buttonLetra2.setText(letra1);
buttonLetra3.setText(letra2);
buttonLetra4.setText(letra3);
buttonLetra5.setText(letra4);

buttonLetra6.setText(letra5);
buttonLetra7.setText(letra6);
buttonLetra8.setText(letra7);
buttonLetra9.setText(letra8);
buttonLetra10.setText(letra9);

buttonLetra11.setText(letra10);
buttonLetra12.setText(letra11);
buttonLetra13.setText(letra12);
buttonLetra14.setText(letra13);
buttonLetra15.setText(letra14);

buttonLetra16.setText(letra15);
buttonLetra17.setText(letra16);
buttonLetra18.setText(letra17);
buttonLetra19.setText(letra18);
buttonLetra20.setText(letra19);

buttonLetra21.setText(letra20);
buttonLetra22.setText(letra21);
buttonLetra23.setText(letra22);
buttonLetra24.setText(letra23);
buttonLetra25.setText(letra24);
buttonLetra26.setText(letra25);

}

private void zeraLetras(){
ClickBtn1 = "nao";
ClickBtn2 = "nao";
ClickBtn3 = "nao";
ClickBtn4 = "nao";
ClickBtn5 = "nao";

ClickBtn6 = "nao";
ClickBtn7 = "nao";
ClickBtn8 = "nao";
ClickBtn9 = "nao";
ClickBtn10 = "nao";

ClickBtn11 = "nao";
ClickBtn12 = "nao";
ClickBtn13 = "nao";
ClickBtn14 = "nao";
ClickBtn15 = "nao";

ClickBtn16 = "nao";
ClickBtn17 = "nao";
ClickBtn18 = "nao";
ClickBtn19 = "nao";
ClickBtn20 = "nao";

ClickBtn21 = "nao";
ClickBtn22 = "nao";
ClickBtn23 = "nao";
ClickBtn24 = "nao";
ClickBtn25 = "nao";
ClickBtn26 = "nao";

txtLetraMontada1.setText("_");
txtLetraMontada2.setText("_");
txtLetraMontada3.setText("_");
txtLetraMontada4.setText("_");
txtLetraMontada5.setText("_");

txtLetraMontada6.setText("_");
txtLetraMontada7.setText("_");
txtLetraMontada8.setText("_");
txtLetraMontada9.setText("_");
txtLetraMontada10.setText("_");

txtLetraMontada11.setText("_");
txtLetraMontada12.setText("_");
txtLetraMontada13.setText("_");
txtLetraMontada14.setText("_");
txtLetraMontada15.setText("_");

txtLetraMontada16.setText("_");
txtLetraMontada17.setText("_");
txtLetraMontada18.setText("_");
txtLetraMontada19.setText("_");
txtLetraMontada20.setText("_");

txtLetraMontada21.setText("_");
txtLetraMontada22.setText("_");
txtLetraMontada23.setText("_");
txtLetraMontada24.setText("_");
txtLetraMontada25.setText("_");
txtLetraMontada26.setText("_");
}
Это ошибки logcat:
ФАТАЛЬНОЕ ИСКЛЮЧЕНИЕ: основной
Процесс: com.bygaanv.palavrasembaralhadas, PID: 32690
java.lang.RuntimeException: невозможно начать действие ComponentInfo{com.bygaanv.palavrasembaralhadas/com.bygaanv.palavrasembaralhadas.MainActivity}: java.lang.StringIndexOutOfBoundsException: length=12; index=12
в android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4164)
в android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4322)
в android.app. servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103)
в android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:139)
в android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor. java:96)
в android.app.ActivityThread$H.handleMessage(ActivityThread.java:2685)
в android.os.Handler.dispatchMessage(Handler.java:106)
в android .os.Looper.loopOnce(Looper.java:230)
в android.os.Looper.loop(Looper.java:319)
в android.app.ActivityThread.main(ActivityThread.java:8919) )
в java.lang.reflect.Method.invoke(собственный метод)
в com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:578)
в com .android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
Вызвано: java.lang.StringIndexOutOfBoundsException: length=12; index=12
в java.lang.String.charAt(собственный метод)
в com.bygaanv.palavrasembaralhadas.MainActivity.colocaLetrasNosBotoes(MainActivity.java:456)
в com.bygaanv.palavrasembaralhadas .MainActivity.novoJogo(MainActivity.java:421)
на com.bygaanv.palavrasembaralhadas.MainActivity.onCreate(MainActivity.java:40)
на android.app.Activity.performCreate(Activity.java:8975) )
в android.app.Activity.performCreate(Activity.java:8944)
в android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1456)
в android.app.ActivityThread. выполнитьLaunchActivity(ActivityThread.java:4146)

Подробнее здесь: https://stackoverflow.com/questions/791 ... udio-koala
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»