我有奇怪的问题......
我的文件strings.xml包含:
<?xml version="1.0" encoding="utf-8?>
<resources>
<string name="building_name">My House</string>
</resources>
Run Code Online (Sandbox Code Playgroud)
好吧,我的R包含:
[...]
public static final class String {
public static final int building_name=0x7f02383;
}
[...]
Run Code Online (Sandbox Code Playgroud)
所以,当我尝试在我的代码中调用此String时,如下所示:
private final String BUILDING_NAME = getString(R.string.building_name);
Run Code Online (Sandbox Code Playgroud)
我有这个错误:
java.lang.RuntimeException: Unable to instanciate activity ComponentInfo{...}: java.lang.NullPointerException
{...}
caused by: java.lang.NullPointerException
Run Code Online (Sandbox Code Playgroud)
在{我实现building_name}的行
我的代码出了什么问题?请帮忙
我正在尝试将我的主Activity扩展为"ListActivity"(以前扩展为:Activity)以使用onListItemClick,但是logcat,发送给我"你的内容必须有一个ListView,其id属性是'android.r.id.list "".(我正在使用SQLite填充ListView).
mi xml是:
<ListView
android:id="@+id/list" // to "@id/android:list" or other styles (but nothing works)
android:layout_width="fill_parent"
android:layout_height="fill_parent"/> // or closing with </ListView>
Run Code Online (Sandbox Code Playgroud)
这是ListView的完整xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ListView
android:id="@+id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent" /></LinearLayout>
Run Code Online (Sandbox Code Playgroud)
我的主要类来处理ListView:
public class lay_main extends ListActivity{
public ListView list;
private DBHelper myAdap;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.lay_main);
collectXML();
setupDataBase();
setupAdapter();
}
private void collectXML()
{
list = (ListView)findViewById(R.id.list);
}
private void …Run Code Online (Sandbox Code Playgroud) android listview listactivity android-listview runtimeexception
我的程序(实际上不是我的,我只是想修复这个错误)在大多数手机上运行正常,但它不能在索尼Xperia P上启动.
当我启动该程序时,会出现以下消息:
应用程序意外停止.
该应用程序在此手机上也没有启动器图标(仅限默认图标).
错误日志说:
java.lang.RuntimeException: unable to start Activity
android.view.InflateException: Binary XML file line #16: error inflating class android.view.ImageView
Run Code Online (Sandbox Code Playgroud)
应用程序调用时出现错误消息:
setContentView(R.layout.menu_0_splash);
Run Code Online (Sandbox Code Playgroud)
我注意到可绘制资源是针对以下分辨率定义的:
1024x600 320x240 400x240 480x320 800x480 854x480
这款手机的电话是960x540,所以我最好的问题是它也应该是dafault资源.
可能是什么问题呢?
布局文件(现在复制/粘贴-d):
<?xml version = "1.0"
encoding = "utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/m0_relativeLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/gradient_green" >
<ImageView #this is the problematic line
android:id="@+id/arrow_top"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="@dimen/m0_arrow_top_margintop"
android:src="@drawable/splash_arrow_top" />
<ImageView
android:id="@+id/arrow_bottom"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_marginBottom="@dimen/m0_arrow_bottom_marginbottom"
android:src="@drawable/splash_arrow_bottom" />
<ImageView
android:id="@+id/belt_top"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:src="@drawable/splash_belt_top" …Run Code Online (Sandbox Code Playgroud) 我是编程新手,如果此类问题已经被问过很多次,我很抱歉。我对这些错误感到非常困惑,请帮忙...这是我的 MainActivity.java
package id.romi.androidquiz;
import java.util.Collections;
import java.util.List;
import id.romi.androidquiz.entity.Quiz;
import id.romi.androidquiz.util.DBAdapter;
import id.romi.androidquiz.util.Utils;
import com.actionbarsherlock.app.SherlockActivity;
import android.app.AlertDialog;
import android.content.Intent;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends SherlockActivity implements OnClickListener
{
private static final String TAG = MainActivity.class.getName();
private TextView soal, user, txtScore, soalCounter, Timer;
private Button btnNext;
private RadioGroup rg_answer;
private RadioButton rb_A, rb_B, rb_C, rb_D;
private DBAdapter mDb;
private …Run Code Online (Sandbox Code Playgroud) 这是错误行:
Typeface typeface = Typeface.createFromAsset(getAssets(), "optimale_bold.tff");
Run Code Online (Sandbox Code Playgroud)
这是错误日志cat:
Caused by: java.lang.RuntimeException: Font asset not found optimale_bold.tff
at android.graphics.Typeface.createFromAsset(Typeface.java:192)
at com.leontheprofessional.test.whorepresentsyou.activity.MainActivity.onCreate(MainActivity.java:100)
at android.app.Activity.performCreate(Activity.java:6020)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2284)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2393)
at android.app.ActivityThread.access$800(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1309)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5351)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:908)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:703)
Run Code Online (Sandbox Code Playgroud)
这是资产文件夹的结构:
在main目录中:
|-assets
|--optimale_bold.ttf
|-java
|-res
AndrodMainifest.xml
Run Code Online (Sandbox Code Playgroud)
在Android视图AndroidStudio的:
|-app
|--manifest
|--java
|--res
|--assets
|---optimale_bold.tff
Run Code Online (Sandbox Code Playgroud)
我仔细检查了app.iml文件,包括这样一行:
<option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
Run Code Online (Sandbox Code Playgroud)
可能有什么问题?
PS:我查了这篇文章,并尝试了每一个解决方案.但都没有效果.这不是一个重复的帖子.请帮忙解决问题.
对于那些可能需要的人:
compileSdkVersion 23
buildToolsVersion "23.0.1" …Run Code Online (Sandbox Code Playgroud) 为什么在运行应用程序时总是会出现NullPointerException?每次我启动我的genymotion模拟器,然后第一次运行应用程序,它崩溃,但第二次我运行我的应用程序工作顺利.我不知道为什么它会在第一次运行时发生.
这是我的Splash屏幕,它从RetrieveGamesBGTask中检索JSON对象:
public class Splash extends Activity {
RetrieveGamesBGTask retrieveGamesBGTask;
String json_string;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);
Thread thread = new Thread(){
@Override
public void run() {
try {
retrieveGamesBGTask = new RetrieveGamesBGTask();
retrieveGamesBGTask.execute();
sleep(3000);
Intent intent = new Intent(getApplication(), Games.class);
intent.putExtra("json_data", json_string);
intent.putExtra("json_data", retrieveGamesBGTask.getResult());
startActivity(intent);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
};
thread.start();
Run Code Online (Sandbox Code Playgroud)
这是下一个应用程序,它在第一次运行时每次崩溃:
retrieveGamesBGTask = new RetrieveGamesBGTask();
retrieveGamesBGTask.execute();
Intent intent = this.getIntent();
if (intent != null) {
json_string = intent.getStringExtra("json_data");
}
try { …Run Code Online (Sandbox Code Playgroud) 我正在研究单行lambda和运行时异常.
我已经测试了以下用例,并且发现语句1没有编译语句2编译正常的地方.
new Thread(() -> throw new RuntimeException("test")); // 1
new Thread(() -> new RuntimeException("test")); //2
Run Code Online (Sandbox Code Playgroud)
请帮助我理解为什么声明1没有编译,但声明二编译正常.
在我的 Android 应用程序中,我想将我的自定义对象传递给另一个活动。我正在使用 Intent
Intent i = new Intent(A.this,B.class);
i.putExtra ("Object", myObject);
context.startActivity (i);
Run Code Online (Sandbox Code Playgroud)
在调用活动中
MyObject myObject = (MyObject) intent.getSerializableExtra ("Object");
Run Code Online (Sandbox Code Playgroud)
我也在我的模型类中实现了 Serilizable。但是当我运行应用程序时它会显示
java.lang.RuntimeException: Parcelable 在写入可序列化对象时遇到 IOException
日志显示了这一点
java.lang.RuntimeException: Parcelable encountered IOException writing serializable object (name = com.eventmate2.model.Event)
at android.os.Parcel.writeSerializable(Parcel.java:1394)
at android.os.Parcel.writeValue(Parcel.java:1341)
at android.os.Parcel.writeArrayMapInternal(Parcel.java:644)
at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1313)
at android.os.Bundle.writeToParcel(Bundle.java:1034)
at android.os.Parcel.writeBundle(Parcel.java:669)
at android.content.Intent.writeToParcel(Intent.java:7501)
at android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:2479)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1496)
at android.app.Activity.startActivityForResult(Activity.java:3760)
at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:767)
at android.app.Activity.startActivityForResult(Activity.java:3721)
at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:754)
at android.app.Activity.startActivity(Activity.java:4033)
at android.app.Activity.startActivity(Activity.java:3999)
at com.eventmate2.adapter.HomeAdapter$2$1.onMenuItemClick(HomeAdapter.java:188)
at android.support.v7.widget.PopupMenu$1.onMenuItemSelected(PopupMenu.java:113)
at android.support.v7.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:840)
at android.support.v7.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:158)
at android.support.v7.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:991)
at android.support.v7.view.menu.MenuPopup.onItemClick(MenuPopup.java:128) …Run Code Online (Sandbox Code Playgroud) 我已经知道 kotlin 中没有这样的“检查”异常。
但我想知道 kotlin 如何在内部将检查异常“转换”为运行时异常。
例如,当不存在此类文件时,下面的代码将从 java.io 包(而不是从 kotlin 包)抛出 FileNotFoundException。
var s = File("hello.txt").inputStream()
Run Code Online (Sandbox Code Playgroud)
当然,不需要显式添加 try-catch 块,但我很好奇它在内部是如何工作的。
我假设他们以某种方式将所有 java 检查的异常重新实现为 kotlin 友好的运行时异常,但我的猜测似乎不正确。
我是这个 EventBus 库的忠实粉丝,并且在其他项目中使用它没有任何问题。但现在,我在活动上注册 EventBus 时遇到了一个奇怪的问题,我完全陷入困境。
java.lang.RuntimeException:看起来您正在 Android 上使用 EventBus,请确保将“eventbus”Android 库添加到您的依赖项中。
我在 BlueStacks 5 和模拟器上都遇到此错误。我已经正确安装了库,但遇到了这个奇怪的错误。还有其他人遇到过类似的错误吗?谢谢!
=================================================== ===
***java.lang.RuntimeException: It looks like you are using EventBus on Android, make sure to add the "eventbus" Android library to your dependencies.
at org.greenrobot.eventbus.EventBus.register(EventBus.java:145)
at com.abc.auth.TutorialActivity.onStart(TutorialActivity.java:45)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1425)**
at android.app.Activity.performStart(Activity.java:7825)
at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3294)
at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221)
at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)*
Run Code Online (Sandbox Code Playgroud)
=================================================== =========
package com.abc.auth;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment; …Run Code Online (Sandbox Code Playgroud) runtimeexception ×10
android ×8
java ×4
custom-font ×1
exception ×1
json ×1
kotlin ×1
lambda ×1
listactivity ×1
listview ×1
resolution ×1
sony ×1