android - 由于我不知道的原因无法解析构造函数和方法

标签 android android-studio android-intent

public void openNumbers (View view) {
        Intent numbers = new Intent(this, NumbersActivity.class);
        startActivity(numbers);
    }

这几行代码有问题吗???我在 (this, NumbersActivity.class) 下有红线;它说无法解析构造函数'Intent(......)'和红色文本startActivity说不能重新[在此处输入图像描述] [1]解决方法'startActivity(android.content.Intent)'

我对此完全陌生

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/tan_background"
    android:orientation="vertical"
    tools:context="com.example.android.miwok.MainActivity">

    <TextView
        android:id="@+id/numbers"
        style="@style/CategoryStyle"
        android:background="@color/category_numbers"
        android:text="@string/category_numbers"
        android:onClick="openNumbers"/>

    <TextView
        android:id="@+id/family"
        style="@style/CategoryStyle"
        android:background="@color/category_family"
        android:text="@string/category_family" />

    <TextView
        android:id="@+id/colors"
        style="@style/CategoryStyle"
        android:background="@color/category_colors"
        android:text="@string/category_colors" />

    <TextView
        android:id="@+id/phrases"
        style="@style/CategoryStyle"
        android:background="@color/category_phrases"
        android:text="@string/category_phrases" />

</LinearLayout>

主 Activity .java

package com.example.android.miwok;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // Set the content of the activity to use the activity_main.xml layout file
        setContentView(R.layout.activity_main);
    }

    public void openNumbers (View view) {
        Intent numbers = new Intent(this, NumbersActivity.class);
        startActivity(numbers);
    }
}

AndroidManidest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.android.miwok">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

        </activity>
        <activity android:name=".PhrasesActivity" >

        </activity>
        <activity android:name=".FamilyActivity" >

        </activity>
        <activity android:name=".ColorsActivity">

        </activity>
    </application>

</manifest>

我已经知道错误是什么了!错误是没有错误...虽然 AS 显示红色字体,但是当我在手机上添加应用程序时,即使使用红色字体也很好 IDK 为什么

我已经知道错误是什么了!错误是没有错误...虽然 AS 显示红色字体,但是当我在手机上添加应用程序时,即使使用红色字体也很好 IDK 为什么

最佳答案

由于您是从 onClick() 方法开始 Activity ,因此在构建 Intent 时,您必须使用当前 Context > Activity

使用:

Intent numbers = new Intent(MainActivity.this, NumbersActivity.class);

代替:

Intent numbers = new Intent(this, NumbersActivity.class);

仅供引用,您必须导入 android.content.Intent 才能使用 Intent

最后,Clean 您的项目并再次Build。希望您的问题得到解决。

关于android - 由于我不知道的原因无法解析构造函数和方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44919166/

相关文章:

Java Android xPath html 解析

android - 全屏 ScrollView

android - 如何将 TimeZone 打印为 IST 或 EST 取决于 Android 中的 TimeZone?

java - 无法为 Android Studio 插入值

java - 设置按钮在具有首选项设置的另一个 Activity 中可见

android - 为什么我得到错误的 requestCode?

android-studio - 如何在 Android Studio 上隐藏滚动条标记?

java - 无法获取最近调用的号码

android - 使用 intent 和 post 参数启动默认浏览器

Android NFC 在启动应用程序时传递单个参数