【问题标题】:ANDROID : create a WebView when clicking a ButtonANDROID:单击按钮时创建 WebView
【发布时间】:2017-02-08 11:05:45
【问题描述】:

我正在尝试将此 WebView 添加到按钮的 onClick 功能,但是, WebView 在单击按钮之前始终存在。我想要网页视图 仅在单击时出现。谁能告诉我需要输入哪个代码 单击按钮时获取 WebView 工作。

<WebView
    android:id="@+id/webView"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_gravity="center" />

xml代码

private SectionsPagerAdapter mSectionsPagerAdapter;

private ViewPager mViewPager;
protected Button mButton;
private WebView webview;
ViewPager mHolder;

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

    Button mButton = (Button) findViewById(R.id.infobutton);
    mButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            webview = (WebView) findViewById(R.id.webView);
            webview.getSettings().setJavaScriptEnabled(true);

            String chtml = "<html>"+
                    "<style> div{height:50%; width:70%; background-color:#aaa;} body div:nth-child(2){height:20%; margin:20px; width:30%; background-color:#222;} h1{ color:red; font-size:24px;}</style>" +
                    "<body><h1>hello, webview</h1>  <div></div> <div></div> </body></html>";
            webview.loadData(chtml, "text/html",  "UTF-8");

        }
    });

java代码

【问题讨论】:

  • 尝试在您的 xml 文件中使 webview 的可见性 GONE 并使其在按钮单击时可见?

标签: android android-layout android-webview android-xml android-button


【解决方案1】:

为此,您可以在 xml 中将可见性设置为 GONE,然后单击按钮,您需要将 webview 的可见性设置为 VISIBLE。

【讨论】:

    【解决方案2】:
    <WebView
        android:id="@+id/web"
        android:visibility="invisible"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_gravity="center" />
    

    制作这个我们的布局不要忘记添加 android:visibility="invisible"

    在java中

    public class MainActivity extends AppCompatActivity {
    
     WebView web;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.fgfg);
        Button bt = (Button)findViewById(R.id.button);
         web =(WebView)findViewById(R.id.web);
        bt.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                web.setVisibility(View.VISIBLE);
                startWebView("http://www.youtube.com");
            }
        });
    }
    

    内部按钮点击

    【讨论】:

    • 我在添加时添加了 webview.setVisibility(View.VISIBLE);内部 java 代码应用冲突
    • 感谢您的回答,但我需要添加自定义网页,而不是链接......如果我添加设置可见应用程序结构。
    • 嗨,如果你能检查这个也谢谢你,stackoverflow.com/questions/42050789/…
    • 如果你能更具体一些,我可以帮忙
    • 您已经给出了转到 Web url 的答案,我想要的是转到我在代码中创建的自定义 url。如果可以请检查
    【解决方案3】:

    终于找到了将WebView添加到api数据的方法

    创建按钮

    protected WebView eventDesctibtion;
    

    指定按钮查看

    eventDesctibtion = (WebView) findViewById(R.id.corporateDescription);
            WebSettings settings= eventDesctibtion.getSettings();
            settings.setDefaultFontSize(11);
    

    加载数据

    eventDesctibtion.loadData(object.getString("description"), "text/html; charset=utf-8", "UTF-8");
    

    【讨论】:

      猜你喜欢
      • 2012-09-06
      • 2013-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多