На самом деле это не заслуживает ответа, но мне скучно ...
Судя по вашему коду, вам лучше написать еще несколько руководств по Java и Android.Кроме того, stackoverflow не является сообществом для подобных вопросов!
Прежде всего, я бесполезен в качестве глобальной переменной, а также инициализации в onCreate, потому что вы перезаписываете меня в функции onClick.Затем у вас есть цикл for и после этого переключатель case, так что вы выполняете case 1 до 7 все друг за другом.Что ваша программа делает, так это 6 раз изменяет текст (с 1 по 6), а затем, наконец, выполняет кейс 7, в котором вы устанавливаете фон, изменяете размеры и устанавливаете текст R.string.s6_1 текстового представления.Все это происходит так быстро, что все, что вы увидите, это случай 7. Каждый раз, когда вы нажимаете кнопку.
Я действительно не знаю, что вы хотите архивировать, но это то, что делает ваша программа.
Редактировать:
@ ded-logoped Я думаю, это то, что вы ищете:
public class Second extends AppCompatActivity {
private TextView tv;
private Button btn;
private int i; // bad name as i is usually used in loops
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second2);
tv = (TextView) findViewById(R.id.tv);
btn = (Button) findViewById(R.id.btn);
i = 1;
tv.setText(R.string.s1);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// deleted the loop here
switch (i){
case 1: tv.setText(R.string.s1); break;
case 2: tv.setText(R.string.s2); break;
case 3: tv.setText(R.string.s3); break;
case 4: tv.setText(R.string.s4); break;
case 5: tv.setText(R.string.s5); break;
case 6: tv.setText(R.string.s6); break;
case 7:
tv.setBackgroundResource(R.drawable.tigs);
tv.setHeight(430);
tv.setWidth(350);
tv.setText(R.string.s6_1);
break;
default: break;
}
});
}
}
Каждый раз, когда вы нажимаете на кнопку, текст меняется.пока фон не изменится, а затем останется прежним.