当前位置: 首页 > 知识库问答 >
问题:

我如何让myfirstapp在android Studio上工作?

郏志学
2023-03-14

我是一个新的android studio和尝试让我的第一个应用程序运行。hello world功能正常工作,但当我在第二个应用程序中按下send按钮时,应用程序就会关闭。

我在此基础上编写的网站教程可以在这里找到:https://developer.android.com/training/basics/firstapp/starting-activity

package com.example.myfirstapp;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;

import static android.provider.AlarmClock.EXTRA_MESSAGE;

public class MainActivity extends AppCompatActivity {
    public static final String EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    /** Called when the user taps the Send button */
    public void sendMessage(View view) {
        Intent intent = new Intent(this, DisplayMessageActivity.class);
        EditText editText = (EditText) findViewById(R.id.edit_message);
        String message = editText.getText().toString();
        intent.putExtra(EXTRA_MESSAGE, message);
        startActivity(intent);
    }
}
package com.example.myfirstapp;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;

public class DisplayMessageActivity extends AppCompatActivity {

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

        // Get the Intent that started this activity and extract the string
        Intent intent = getIntent();
        String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);

        // Capture the layout's TextView and set the string as its text
        TextView textView = findViewById(R.id.textView);
        textView.setText(message);
    }
}
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.myfirstapp">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.MyFirstApp">
        <activity android:name=".DisplayMessageActivity"
            android:parentActivityName=".MainActivity">
            <!-- The meta-data tag is required if you support API level 15 and lower -->
            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value=".MainActivity" />
        </activity>
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

乔希

共有1个答案

臧威
2023-03-14

去logcat看看你的错误是什么。您没有在主活动中定义任何按钮

 类似资料:
  • 问题内容: 我已经做了几次尝试,以使包注释@ParametersAreNonnullByDefault在maven项目中为我工作,但没有成功。有人可以共享一个指向最小/示例maven项目的链接吗(或发布了pom.xml和package- info.java和demo类)? 我说的是让findbugs处理器为我实施它。 问题答案: 如何申请 在您的程序包中创建一个文件,以在其中强制执行所需的行为。

  • 我正在尝试使NDK调试器正常工作,但到目前为止没有成功。 为了确保我的调试符号存在并且有效,我使用了编译器选项-O0和-g,以及ndk-build参数ndk调试=1。 ndk-gdb 脚本在运行时没有问题并启动地理数据库。当执行“共享库”命令时,我得到这个: 然而,当我尝试中断执行或者添加一个segfault进行测试时,我从调用堆栈中的那个库中得不到任何符号。我得到的唯一符号来自libc,例如,如

  • 我之前让Conda在Mojave上流畅运行,但我发现升级到Catalina会将“anaconda3”文件夹移动到您的桌面 我在这里尝试了建议,写在下面: 嗨,我可能有个解决办法 将位于Relocated Items中的文件夹anaconda3复制到 /Users/myname/ 打开终端 输入:导出PATH="/用户/myname/anaconda3/bin:$PATH" 输入:conda ini

  • SO上的首要答案对我不起作用。 我试图更快地浏览我的文件,但如果我按住或或者任何其他vim导航键,它就不会执行repeat命令(它不会飞过单词,会卡住)

  • java.lang.NoClassDeffounderror:org/mockito/internal/creative/cglib/classimposterizer.createProxyClass(classimposterizer.java:95)(classimposterizer.imposterise(classimposterizer.imposterise:57)(classim

  • 我一直在使用来自https://apimeister.com/2015/06/27/add-jar-to-the-classpath-at-runtime-in-jjs.html在java的nashorn jjs中运行时加载类。 它在java 8中工作,但在java 9中不工作。我知道https://stackoverflow.com/a/41265267/5891192中提到的推荐命令行解决方案