簡體   English   中英

在瀏覽器android中打開字符串

[英]open string in browser android

在構建了基本的計算器之后,我試圖構建一個Android應用程序,該應用程序在android瀏覽器中打開在edittext字段中設置的URL。從概念上講,這聽起來很簡單,但對我而言,還差得遠。

我的java代碼

package com.example;


import android.app.Activity;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.view.View.OnClickListener;



public class Access extends Activity implements OnClickListener {

    /**
     * Called when the activity is first created.
     */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Button btn=(Button) findViewById(R.id.btn);
        btn.setOnClickListener(this);

    }

    public void onClick(View view){
        EditText browse =(EditText)findViewById(R.id.btn1);
        Intent i = new Intent("android.intent.action.VIEW", Uri.parse(browse.getText().toString()));
        startActivity(i);

    }
}

我的xml設計

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
        >
    <TextView
            android:id="@+id/url"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="Enter webpage to go"
            />
    <EditText
            android:id="@+id/btn1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            />

    <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_below="@+id/radioGroup1"
            android:onClick="onClick"
            android:text="Browse"
            />
</LinearLayout>

還有我的logcat錯誤

09-28 11:31:13.615: ERROR/StrictMode(92): A resource was acquired at attached stack trace but never released. See java.io.Closeable for information on avoiding resource leaks.
        java.lang.Throwable: Explicit termination method 'close' not called
        at dalvik.system.CloseGuard.open(CloseGuard.java:184)
        at java.io.FileInputStream.<init>(FileInputStream.java:80)
        at com.android.server.pm.UserManager.readUserList(UserManager.java:114)
        at com.android.server.pm.UserManager.<init>(UserManager.java:81)
        at com.android.server.pm.UserManager.<init>(UserManager.java:85)
        at com.android.server.pm.PackageManagerService.<init>(PackageManagerService.java:923)
        at com.android.server.pm.PackageManagerService.main(PackageManagerService.java:833)
        at com.android.server.ServerThread.run(SystemServer.java:163)
09-28 11:31:21.256: ERROR/SoundPool(92): error loading /system/media/audio/ui/Lock.ogg
09-28 11:31:21.256: ERROR/SoundPool(92): error loading /system/media/audio/ui/Unlock.ogg
09-28 11:31:21.435: ERROR/EventHub(92): could not get driver version for /dev/input/mouse0, Not a typewriter
09-28 11:31:21.465: ERROR/EventHub(92): could not get driver version for /dev/input/mice, Not a typewriter
09-28 11:31:21.814: ERROR/CommandListener(33): Failed to open /proc/sys/net/ipv6/conf/wlan0/disable_ipv6: No such file or directory
09-28 11:31:21.814: ERROR/WifiStateMachine(92): Failed to disable IPv6: java.lang.IllegalStateException: Unable to communicate to native daemon for disabling ipv6
09-28 11:31:21.904: ERROR/MobileDataStateTracker(92): default: Ignoring feature request because could not acquire PhoneService
09-28 11:31:21.904: ERROR/MobileDataStateTracker(92): default: Could not enable APN type "default"
09-28 11:31:30.305: ERROR/ActivityThread(185): Failed to find provider info for com.android.inputmethod.latin.dictionarypack
09-28 11:31:30.315: ERROR/BinaryDictionaryGetter(185): Could not find a dictionary pack
09-28 11:31:39.365: ERROR/SoundPool(92): error loading /system/media/audio/ui/Effect_Tick.ogg
09-28 11:31:39.365: ERROR/SoundPool(92): error loading /system/media/audio/ui/Effect_Tick.ogg
09-28 11:31:39.365: ERROR/SoundPool(92): error loading /system/media/audio/ui/Effect_Tick.ogg
09-28 11:31:39.404: ERROR/SoundPool(92): error loading /system/media/audio/ui/Effect_Tick.ogg
09-28 11:31:39.404: ERROR/SoundPool(92): error loading /system/media/audio/ui/Effect_Tick.ogg
09-28 11:31:39.404: ERROR/SoundPool(92): error loading /system/media/audio/ui/KeypressStandard.ogg
09-28 11:31:39.414: ERROR/SoundPool(92): error loading /system/media/audio/ui/KeypressSpacebar.ogg
09-28 11:31:39.414: ERROR/SoundPool(92): error loading /system/media/audio/ui/KeypressDelete.ogg
09-28 11:31:40.074: ERROR/SoundPool(92): error loading /system/media/audio/ui/KeypressReturn.ogg
09-28 11:32:01.754: ERROR/DefaultVoicemailNotifier(291): No voicemails to notify about: clear the notification.
09-28 11:32:23.674: ERROR/AndroidRuntime(583): FATAL EXCEPTION: main
        java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example/com.example.Access}: java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.Button
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
        at android.app.ActivityThread.access$600(ActivityThread.java:123)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:137)
        at android.app.ActivityThread.main(ActivityThread.java:4424)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:511)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
        at dalvik.system.NativeStart.main(Native Method)
        Caused by: java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.Button
        at com.example.Access.onCreate(Access.java:26)
        at android.app.Activity.performCreate(Activity.java:4465)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
        ... 11 more

改變你的

 Button btn=(Button) findViewById(R.id.btn);

 Button btn=(Button) findViewById(R.id.button1);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM