java - 无法识别启动活动:未找到默认活动
问题描述
我是 Android 新手,我试图创建一个新视图。但是我在运行时收到此错误
无法识别启动活动:未找到默认活动
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<com.bamlineapps.dungeonexplorer.DungeonExplorer xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/dungeonView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
</com.bamlineapps.dungeonexplorer.DungeonExplorer>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>
这是我的android清单,因为我认为错误来自这里:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.bamlineapps.dungeonexplorer">
<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"
tools:ignore="GoogleAppIndexingWarning">
<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>
解决方案
我猜你忘了
@Override
public void onDraw(Canvas canvas) {
super.onDraw(canvas); // <- this line
// Your code here
}
而且我只能猜测,因为问题中缺少一些重要数据 - 您能否将打印在控制台上的崩溃日志/错误附在问题上?
更新
尝试 null 检查您的变量并在类的构造函数中初始化内容,如下所示:
public class YourView extends ImageView { // I don't know; provide more info
private Bitmap chibiSprite;
public YourView(Context context) {
super(context);
chibiSprite = BitmapFactory.decodeResource(getResources(), R.drawable.chibi_sprite);
}
@Override
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
if(canvas != null)
drawCharacter(canvas);
}
public void drawCharacter(Canvas canvas) {
// Customize these three
float location_x = 100F;
float location_y = 100F;
Paint custom_paint = null;
canvas.drawBitmap(chibiSprite, location_x, location_y, custom_paint);
}
}
推荐阅读
- sql - 通过另一列的键值组合一列中的值
- angular - 脚本应该放入 angular.json 还是 index.html?
- angular - Angular 表单按钮在验证表单后未启用
- ruby - Ruby Time.parse 错误地返回字符串的时间戳
- javascript - 在对象内部的函数内部使用函数
- c# - 如何从拆分结果c#中获取我想要的字符串
- function - split() 后面的 (1) 是什么?
- pdo - 使用 PDO 尊重\验证自定义规则?
- performance - jmeter 中的连接是什么意思?我们能否获得建立了多少连接的详细信息(不是用户样本,而是连接)
- react-native - React Native - 选择器项目在另一个选择器中显示数据