0

关于将常规 java 代码放在 android 应用程序中的位置,我有些困惑。

我使用的是 Eclipse SDK,默认情况下,当您创建应用程序时,它会使用 OnCreate() 方法创建一个 .java 文件。这是我将代码放在这个方法中的地方吗?

现在,在我的布局中,我有一个 imageButton,一旦单击此按钮,我想打开一个新的 WebView 页面,该页面从资产文件夹中的 index.html 文件中获取它的 HTML 代码。这是我目前所拥有的......

    Button button = (Button)findViewById(R.id.imagebutton1);
    if(button.isPressed())
    {
        WebView webview = new WebView(null);
        setContentView(webview);
        try {
            InputStream fin = getAssets().open("index.html");
                byte[] buffer = new byte[fin.available()];
                fin.read(buffer);
                fin.close();
                webview.loadData(new String(buffer), "text/html", "UTF-8");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

我在 onCreate() 方法的末尾有这段代码,就在下面一行:

setContentView(R.layout.main);

但是,一旦我运行该程序,它就会崩溃并告诉我它无法启动。我假设它与代码在 onCreate 中的事实有关。我知道它不是我应该放的地方,但我想不出代码应该放在哪里。我应该制作一个新的 .java 文件并在那里有一个主要方法吗?我目前正在学习 C++ 和 C# 的课程,所以这个 android 的东西对我来说仍然是新的。

4

3 回答 3

2

你做过教程吗?如果不是,我会从那里开始学习创建和使用 Android 的基础知识Activity。完成它们后,请阅读应用程序基础知识以更全面地了解生命周期。

于 2011-02-17T20:28:38.087 回答
1

您不应该在 onCreate 中多次调用 setContentView。WebView 应该在您的 main.xml 布局文件中,否则启动一个布局包含 WebView 的新 Activity。并且还需要调用setOnClickListener ()的按钮上的onClick。

于 2011-02-17T19:54:43.933 回答
0

请参阅处理 UI 事件

此外,如果您的程序崩溃,如果您提供来自 logcat 的错误消息将会很有帮助。

于 2011-02-17T19:59:29.983 回答