boolean

Интерфейс, диалоги, темы, стили, меню
Ответить
Сергей Казаков
Сообщения: 34
Зарегистрирован: 11 май 2015, 23:06

boolean

Сообщение Сергей Казаков » 02 июл 2015, 23:07

Что написать в onClickListner'е, если: текст на кнопке "Показать", то при нажатии он меняется на " Скрыть", а если будет текст "Скрыть", то при нажатии поменяется на "Показать", и так по кругу.
Код:
[syntax=java]
package com.android.develop;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends Activity
{

@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main_layout);
Button button1 = (Button) findViewById(R.id.button_1);
Button button2 = (Button) findViewById(R.id.button_2);
View.OnClickListener onclick1 = new View.OnClickListener()
{
@Override
public void onClick(View view1)
{
switch(view1.getId())
{
case R.id.button_1:
Toast toast1 = Toast.makeText(getApplicationContext(),"Нажата кнопка" ,Toast.LENGTH_SHORT);
toast1.show();
break;
case R.id.button_2:
//вот сюда код для смены текста
}
}
};
button1.setOnClickListener(onclick1);
button2.setOnClickListener(onclick1);
}

@Override
public boolean onCreateOptionsMenu(Menu menu)
{
getMenuInflater().inflate(R.menu.menu_main, menu);
return super.onCreateOptionsMenu(menu);
}

@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch(item.getItemId())
{
case R.id.menu_1:
Toast toast2 = Toast.makeText(getApplicationContext(),"Нажата кнопка меню",Toast.LENGTH_SHORT);
toast2.show();
return true;
case R.id.menu_5:
item.setChecked(true);
return true;
case R.id.menu_6:
if (item.isChecked()) item.setChecked(false);
else item.setChecked(true);
return true;
}
return super.onOptionsItemSelected(item);
}
}
[/syntax]

andreika007
Сообщения: 3
Зарегистрирован: 04 июл 2015, 13:43

Re: boolean

Сообщение andreika007 » 05 июл 2015, 10:07

Попробуйте так:

if(button2.getText().toString()=="Показать")button2.setText("Скрыть");
else button2.setText("Показать");

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: boolean

Сообщение Mikhail_dev » 05 июл 2015, 11:13

andreika007 писал(а):if(button2.getText().toString()=="Показать")button2.setText("Скрыть");
else button2.setText("Показать");
а вам настоятельно я рекомендую почитать это
viewtopic.php?f=51&t=3408
коль джаву вы не желаете учить.

razmus
Сообщения: 82
Зарегистрирован: 26 мар 2013, 10:47

Re: boolean

Сообщение razmus » 06 июл 2015, 13:35

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

        private boolean buttonState = false;
        @Override
        public void onCreate(Bundle savedInstanceState)
        {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main_layout);
            Button button1 = (Button) findViewById(R.id.button_1);
            button1.setOnClickListener(new View.OnClickListener()
            {
                @Override
                public void onClick(View view1)
                {
                    buttonState = !buttonState;
                    if (buttonState){
                        button1.setText("Показать");
                    } else {
                        button1.setText("Скрыть");
                    }
                    Toast.makeText(getApplicationContext(), "Нажата кнопка", Toast.LENGTH_SHORT).show();
                }
            });
        }

Ответить