在主要活动中按钮不可见 [英] Button not visible in main activity

查看:56
本文介绍了在主要活动中按钮不可见的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在主要活动中创建了三个按钮.我为按钮一使用了以下代码

I have create three button in main activity. i used following code for button one

`btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
btn.setVisibility(GONE);
btn1.setVisibility(GONE);
btn2.setVisibility(GONE);
FragmentManager fm = getSupportFragmentManager();
TestFragment fragment = new TestFragment();
fm.beginTransaction().add(R.id.fragment_container,fragment).addToBackStack(null.commit();`

问题是当我按下后退按钮而不是在主要活动中不可见的按钮时.

the problem is that when i pressed back button than buttons not visible in main activity.

推荐答案

如果按后退"按钮,则会返回活动,但您已经将按钮的可见性设置为消失",这就是为什么您看不到这些按钮的原因.您必须处理后退按钮,并将按钮的可见性再次设置为可见".

If you press back button you return your activity back but you've already set your buttons' visibilities as Gone that's why you can't see those buttons. You have to handle back button and set buttons' visibilities as Visible again.

public class MainActivity extends AppCompatActivity {

    Button btn, btn1, btn2;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        btn = findViewById(R.id.btn);
        btn1 = findViewById(R.id.btn1);
        btn2 = findViewById(R.id.btn2);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                btn.setVisibility(GONE);
                btn1.setVisibility(GONE);
                btn2.setVisibility(GONE);
                FragmentManager fm = getSupportFragmentManager();
                TestFragment fragment = new TestFragment();
                fm.beginTransaction().add(R.id.fragment_container, fragment).addToBackStack(null).commit();
            }
        });
    }
    //Handle your Back Button with onKeyDown method.
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        //Check for if Back Button is pressed. If pressed do below:
        if (keyCode == KeyEvent.KEYCODE_BACK) {
            onBackPressed(); //Return your activity back.
            btn.setVisibility(View.VISIBLE);  //Set your btn's visibility as Visible.
            btn1.setVisibility(View.VISIBLE); //Set your btn1's visibility as Visible.
            btn2.setVisibility(View.VISIBLE); //Set your btn2's visibility as Visible.
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }
}

这篇关于在主要活动中按钮不可见的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆