如何在开关盒后制作隐形的其他按钮

时间:2017-12-16 13:21:38

标签: android html

当我点击一个按钮时,我可以显示我的html文件。但其他按钮仍然站在那里。 我该如何防止这种情况?

screen image

import android.widget.Button;

public class MainActivity extends AppCompatActivity {

WebView webView;
Button bn, deneme, denemeiki;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    bn = (Button) findViewById(R.id.bn);
    deneme = (Button) findViewById(R.id.deneme);
    denemeiki= (Button) findViewById(R.id.denemeiki);
    // init webView
    webView = (WebView) findViewById(R.id.simpleWebView);
    // displaying content in WebView from html file that stored in assets folder
    bn.setOnClickListener(new Clik());
    deneme.setOnClickListener(new Clik());
    denemeiki.setOnClickListener(new Clik());
}

public class Clik implements View.OnClickListener {
    @Override
    public void onClick(View view) {

        switch (view.getId()) {
            case R.id.deneme:
                webView.getSettings().setJavaScriptEnabled(true);
                webView.loadUrl("file:///android_asset/html.html");
                break;
            case R.id.denemeiki:
                webView.getSettings().setJavaScriptEnabled(true);
                webView.loadUrl("file:///android_asset/deneme.html");
                break;
            case R.id.bn:
                webView.getSettings().setJavaScriptEnabled(true);
                webView.loadUrl("file:///android_asset/denemeiki.html");
                break;

            default:

        }
    }
}
}

strong text

1 个答案:

答案 0 :(得分:2)

编辑 将所有按钮ID存储在整数数组idsArr。

switch (view.getId()) {
        case R.id.deneme:
            webView.getSettings().setJavaScriptEnabled(true);
            webView.loadUrl("file:///android_asset/html.html");
            hideButtons(idsArr,R.id.deneme);        
            break;
        case R.id.denemeiki:
            webView.getSettings().setJavaScriptEnabled(true);
            webView.loadUrl("file:///android_asset/deneme.html");
            hideButtons(idsArr,R.id.denemeiki);              
            break;
        case R.id.bn:
            webView.getSettings().setJavaScriptEnabled(true);
            webView.loadUrl("file:///android_asset/denemeiki.html");
            hideButtons(idsArr,R.id.bn);              
            break;

        default:

    }

    public void hideButtons(int[] idsArr, int id) // id - button to keep visible
    {
       for(int i=0;i<idsArr.length;i++)
       {
          if(id!=idsArr[i]){
             ((Button)findViewById(idsArr[i])).setVisibility(View.GONE);
          }else{
              ((Button)findViewById(idsArr[i])).setVisibility(View.GONE);
          }
       }
    }

这会做你要求的任何事情,但是你必须带回一些动作(使隐藏的按钮可见)禁用按钮。