Страница 1 из 1

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]

Re: boolean

Добавлено: 05 июл 2015, 10:07
andreika007
Попробуйте так:

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

Re: boolean

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

Re: boolean

Добавлено: 06 июл 2015, 13:35
razmus

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

        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();
                }
            });
        }