当我点击一个按钮时,我可以显示我的html文件。但其他按钮仍然站在那里。 我该如何防止这种情况?
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:
}
}
}
}
答案 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);
}
}
}
这会做你要求的任何事情,但是你必须带回一些动作(使隐藏的按钮可见)禁用按钮。