无法在新活动上调用'SetContentView' - Android Mono

时间:2012-03-06 22:14:28

标签: android xamarin.android

我已经找到了这个问题,但似乎没有什么能帮我解决这个特殊错误。

我正在编写我的第一个Android应用程序,每当我在新活动上调用SetContentView时,都会遇到java.lang.RuntimeException。

logcat中没有任何内容可以帮助(活动空闲超时都是因为它在通话时动摇了。)

我的活动登录 OnCreate 期间设置了布局,但工作正常,但任何后续调用都会失败。这里有一些代码;)

[Activity(Label = "Usage")]
public class Usage : TabActivity
{
    protected override void OnCreate(Bundle bundle)
    {
        base.OnCreate(bundle);

        //**FALLS OVER HERE**
        SetContentView(Resource.Layout.Usage);

Resource.Designer.cs 包含我的布局记录:

// aapt resource value: 0x7f030002
public const int Usage = 2130903042;

...当我通过它的 int 值引用该布局时,它会回退到之前的活动而不会在 Usage 活动中遇到任何断点。

任何人都有任何想法或者可以指向我类似职位的方向?

传说!

更新

我尝试了一堆我在论坛上发现的修复,但没有什么能解决这个问题。当我处理其他事情的时候,我把整个事情都放在了后面,回到它上面,现在它起作用了...希望我可以说它是什么让它帮助其他人,但我无法解释它! COULD 是对新版MonoDroid的更新吗?

3 个答案:

答案 0 :(得分:1)

正如我对斯图尔特回答的评论所述,这个问题似乎已经解决了。我以后一直重新审视这个项目,并认为它可能只是一个清理项目和重建所有项目的案例。从那以后我没有遇到这个问题。

很抱歉,这不是一个详细的答案,我建议尝试'清洁和重建'。

答案 1 :(得分:0)

我最近在VS2010中工作时遇到了一些问题,资源ID与资源文件和java ID完全不同步。

要解决这些问题,我通常会发现最快的方法是在其中一个布局xml文件中添加一个新的ID - 这会导致重新生成或者使用resources.cs文件,这意味着该应用程序可以再次运行。

如果这没有帮助,那么请发布有关RuntimeException内部消息的更多信息,

答案 2 :(得分:0)

尽管响应时间很晚,但可能会遇到这种错误的人。用try-catch包裹它,它提供了有关异常的更多详细信息。我花了几个小时才弄清楚做到这一点