非非非非非非 2019-08-14 13:00 采纳率: 46.2%
浏览 2875
已采纳

安卓运行报错android.content.ActivityNotFoundException: Unable to find explicit activity class

以下是报错信息:

android.content.ActivityNotFoundException: Unable to find explicit activity class {com.example.helloworld/android.widget.TextView}; have you declared this activity in your AndroidManifest.xml?

然后我搜索了一下得到的解决方案是没有将activity在mainfest.xml中注册,但是我已经注册过了,以下是xml中的代码

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.helloworld">

    <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/AppTheme">
        <activity android:name=".TextViewActivity"
                android:label=""></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>

以下是第二个活动的代码

package com.example.helloworld;

import androidx.appcompat.app.AppCompatActivity;

import android.graphics.Paint;
import android.os.Bundle;
import android.widget.TextView;

public class TextViewActivity extends AppCompatActivity {


    private TextView tv2;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_text_view);
        tv2 = findViewById(R.id.tv2);
        tv2.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG);//加入划线
        tv2.getPaint().setAntiAlias(true);//去除锯齿
    }
}

以下是第二个活动的xml代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center_horizontal"
    >
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/tv_test1"
        android:textColor="#000000"
        android:textSize="30sp"
       />//在strings.xml中编辑好后,在这里调用
        //最大行数为一,且显示不下时出现省略号
    <TextView
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:maxLines="1"
        android:ellipsize="end"
        android:id="@+id/t2"
        android:text="哎哟不错哦!"
        android:textColor="#000000"
        android:textSize="30sp"/>
    //有额外选项或者下拉框(大致这个意思)
    <TextView
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:drawableRight="@drawable/arrow3"
        android:text="for you and me"
        android:textColor="#000000"
        android:textSize="30sp" />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="xxx"
        android:id="@+id/tv2"
        android:textColor="#000000"
        android:textSize="30sp"
        />
</LinearLayout>

以下是mainactivity的代码(之后补充的)


public class MainActivity extends AppCompatActivity {

    private Button btntv;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);//设置内容视图
        btntv = findViewById(R.id.bt_tv1);
        btntv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //跳转到TextView演示界面
                Intent intent = new Intent(MainActivity.this, TextView.class);
                startActivity(intent);
            }
        });
    }
}

  • 写回答

3条回答 默认 最新

  • 非非非非非非 2019-08-14 22:55
    关注

    问题出在mainactivity中

    public class MainActivity extends AppCompatActivity {
    
        private Button btntv;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);//设置内容视图
            btntv = findViewById(R.id.bt_tv1);
            btntv.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    //跳转到TextView演示界面
                    Intent intent = new Intent(MainActivity.this, TextViewActivity.class);
                    startActivity(intent);
                }
            });
        }
    }
    
    
    

    将跳转时的 Intent intent = new Intent(MainActivity.this, TextView.class);中的TextView改为TextViewActivity

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 cmd批处理参数如果含有双引号,该如何传入?
  • ¥15 fx2n系列plc的自控成型机模拟
  • ¥15 时间序列LSTM模型归回预测代码问题
  • ¥50 使用CUDA如何高效的做并行化处理,是否可以多个分段同时进行匹配计算处理?目前数据传输速度有些慢,如何提高速度,使用gdrcopy是否可行?请给出具体意见。
  • ¥15 基于STM32,电机驱动模块为L298N,四路运放电磁传感器,三轮智能小车电磁组电磁循迹(两个电机,一个万向轮),如何通过环岛的原理及完整代码
  • ¥20 机器学习或深度学习问题?困扰了我一个世纪,晚来天欲雪,能饮一杯无?
  • ¥15 c语言数据结构高铁订票系统
  • ¥15 关于wkernell.PDB加载的问题,如何解决?(语言-c#|开发工具-vscode)
  • ¥100 某宝多次访问被拒绝,求解
  • ¥15 (标签-STM32|关键词-智能小车)