我已经阅读了以前关于这个问题的线程,但答案无法解决我的问题。我有一个BroadcastRecencer,它是Mainactive内部的一个内部类,但出现以下异常时失败:
hread.java:5118RuntimeException:无法实例化接收器java.lang.reflect.Mainactive$数据库广播接收器:ethod.invoke实例化异常:无法实例化类java.lang.reflect.Mainactive$数据库广播接收器;ethod.invokeActivityTethod.java:515Recencer(ActivityTcom.android.internal.os.)aller.runActivityTnit.java:7941700美元(ActivityTcom.android.internal.os.)nit.mainActivityThread$H. handleMessage(ActivityTnit.java:610)dalvik.system.Handler.dispatchMessage(Handler.java:102)android.os.Looper.loop(Looper.java:136)android.app.ActivityThread.main(ActivityTjava.lang.)com.tac.kulik.dealsgrabber.Mjava.lang.Native(Native Method)com.tac.kulik.dealsgrabber.Mandroid.app.(Mhread.handle)hread.java:2410ZygoteInit$Method odAndArgsCandroid.app.(ZygoteIhread.access)hread.java:142ZygoteIandroid.app.(ZygoteI)android.os.NativeStart. main(Native Method)引起的hread.java:1279。
使BroadcastReceiver为静态不是一个选项,因为我将无法访问需要使用的必要成员变量。
以下是BroadcastReceiver内部类的主要活动:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
html" target="_blank">setContentView(R.layout.activity_main);
.
.
.
.
.
try {
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Intent dbIntent = new Intent(MainActivity.this, DatabaseBroadcastReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(MainActivity.this, 0, dbIntent, PendingIntent.FLAG_UPDATE_CURRENT);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), alarmManager.INTERVAL_DAY, pendingIntent);
} catch (Exception e) {
e.printStackTrace();
}
}
public class DatabaseBroadcastReceiver extends BroadcastReceiver {
public DatabaseBroadcastReceiver() {
}
@Override
public void onReceive(Context context, Intent intent) {
final Context mContext = context;
.
.
.
.
.
@Override
public void onLoadFinished(Loader<Cursor> arg0, Cursor cursor) {
Log.d(TAG, "onLoadFinished s=" + cursor.getCount());
mDealsAdapter.swapCursor(cursor);
}
@Override
public void onLoaderReset(Loader<Cursor> arg0) {
Log.d(TAG, "onLoaderReset");
mDealsAdapter.swapCursor(null);
}
};
getSupportLoaderManager().initLoader(0, new Bundle(), mCallback);
}
};
AndroidManifest。xml
<receiver android:name=".MainActivity$DatabaseBroadcastReceiver"/>
请告知任何人。
使BroadcastReceiver为静态不是一个选项,因为我将无法访问需要使用的必要成员变量。
那么这就是你的应用程序中的一个bug,你需要修复这个bug。
当警报响起时,你的整个过程,更不用说活动了,很可能不存在。您的广播接收器需要能够完全独立于活动工作。通常,这种接收器被实现为顶级的公共Java类,以帮助实现这种独立性。
我已经将我的Hive配置为链接:http://www.youtube.com/watch?v=Dqo1ahdBK_A,但我在Hive中创建表时收到以下错误。我使用的是hadoop-1.2.1和hive-0.12.0。
问题内容: 我没有想到在这个阶段我会再遇到Java根本上没有的新语法,但是瞧,我只是遇到了一些东西: 确切的上下文和下面的代码应该做什么无关紧要-只是为了提供某种上下文。 我试图在IT Mill Toolkit中综合创建一个事件,所以我写了这样的话: 但是,Eclipse给了我以下错误消息: 无法访问Button类型的封闭实例。必须使用一个封闭的类型为Button的实例来限定分配(例如xxnew
问题内容: 我有一个实用程序方法,当从中删除了不相关的逻辑时,简化的方法将如下所示: 问题是,如果是诸如的内部类,则该方法即使是公共方法也将不起作用,因为它将抛出。 有没有办法动态实例化内部类? 问题答案: 如果它是真正的 内部 类而不是 嵌套 (静态)类,则有一个隐式构造函数参数,它是对外部类实例的引用。在那个阶段您不能使用- 必须获得适当的构造函数。这是一个例子:
当我启动应用程序时,它工作正常,但当我单击“更改配置文件”时,会出现以下错误: android.app.RuntimeException:无法启动活动ComponentInfo{hread.main}:hread.java:6119RuntimeException:无法在ethod.invoke创建类java.lang.reflect.EditProfileViewModel的实例Activity
实例内部类是指没有用 static 修饰的内部类,有的地方也称为非静态内部类。示例代码如下: 上述示例中的 Inner 类就是实例内部类。实例内部类有如下特点。 1) 在外部类的静态方法和外部类以外的其他类中,必须通过外部类的实例创建内部类的实例。 2)在实例内部类中,可以访问外部类的所有成员。 提示:如果有多层嵌套,则内部类可以访问所有外部类的成员。 3)在外部类中不能直接访问内部类的成员,而必
问题内容: 是否可以使用Java反射从另一个类实例化私有内部类。例如,如果我采用了这段代码 是否可以实例化并从main类中的main方法获得对Test的访问。 问题答案: 使用反射时,您会发现该内部类的构造函数将外部类的实例作为附加参数(总是第一个)。 例: