Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
I';我的android应用程序出错,按下按钮后崩溃_Android_Intellij Idea - Fatal编程技术网

I';我的android应用程序出错,按下按钮后崩溃

I';我的android应用程序出错,按下按钮后崩溃,android,intellij-idea,Android,Intellij Idea,我试着实现一个我遵循的修复,但没有结果,我很确定这是一个我没有看到的小东西。这是来自logcat的错误 致命异常:主 进程:com.example.ramos.nester,PID:11297 java.lang.IllegalStateException:在android的父或祖先上下文中找不到方法检索(MainActivity)(View):在视图类android.support.v7.widget.AppCompatButton上定义的onClick属性,id为“Guibut” 在andr

我试着实现一个我遵循的修复,但没有结果,我很确定这是一个我没有看到的小东西。这是来自logcat的错误

致命异常:主 进程:com.example.ramos.nester,PID:11297 java.lang.IllegalStateException:在android的父或祖先上下文中找不到方法检索(MainActivity)(View):在视图类android.support.v7.widget.AppCompatButton上定义的onClick属性,id为“Guibut” 在android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.resolveMethod(AppCompatViewInflater.java:327)中 在android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:284) 在android.view.view.performClick上(view.java:4492) 在android.view.view$PerformClick.run(view.java:18568) 位于android.os.Handler.handleCallback(Handler.java:733) 位于android.os.Handler.dispatchMessage(Handler.java:95) 位于android.os.Looper.loop(Looper.java:136) 位于android.app.ActivityThread.main(ActivityThread.java:5021) 位于java.lang.reflect.Method.Invokenactive(本机方法) 位于java.lang.reflect.Method.invoke(Method.java:515) 在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run上(ZygoteInit.java:827) 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:643) 在dalvik.system.NativeStart.main(本机方法)

代码

XML



我是新来的,我对安卓系统的经验有点有限。然而,我认为如果不发布代码,就很难判断是什么导致了崩溃(至少对像我这样的人来说)。添加您的代码可能会激励其他人帮助您。

从您上面发布的代码中我可以看出,由于onClick方法不可用,出现了此错误。我曾经遇到过一个类似的问题,其中使用了视图类而没有使用onClick方法。尝试添加setOnClickListener函数代替retrieve函数。它应该能解决你的错误。这是使用视图类和OnClick方法检测按钮单击的语法

btn = (Button)findViewById(R.id.firstButton);
btn.setOnClickListener(new View.OnClickListener()
{
    @Override
    public void onClick(View v)
    {
        //Code goes inside this function.
    }
});

如果这样做没有帮助,最好您也发布活动的XML代码。

我可以查看此活动的布局XML文件吗?清单还是main?我指的是R.layout.activity\u main。清单不是布局文件。您可以在res/layout folder中检查所有布局,只需将其编辑到我应该将其放置在何处?我还重新编辑了代码,我发布了错误的代码版本--我做了3次-你在Android清单文件中添加了互联网权限吗?我没有告诉你在检索功能中添加代码。我说过,如果你想点击一个按钮做点什么,你可以用上面的函数替换检索函数。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/activity_main"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        android:paddingBottom="@dimen/activity_vertical_margin"
        tools:context="com.example.nestapp.MainActivity">

    <Button
            android:text="Click Me For Information"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="36dp" android:id="@+id/guibutt" android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true" android:onClick="retrieve (MainActivity)"/>
    <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/software"
            android:layout_marginTop="45dp"
            android:text="Software Version" android:layout_below="@+id/last"
            android:layout_centerHorizontal="true"/>
    <TextView
            android:text="Device ID"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="45dp" android:id="@+id/device" android:layout_above="@+id/battery"
            android:layout_centerHorizontal="true"/>
    <TextView
            android:text="Name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="38dp" android:id="@+id/name"
            android:textAlignment="center"
            android:layout_centerInParent="false" android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"/>
    <TextView
            android:text="Battery Health"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="53dp" android:id="@+id/battery"
            android:layout_above="@+id/last" android:layout_centerHorizontal="true"/>
    <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/last"
            android:text="Last Time Period of Connection"
            android:layout_centerVertical="true" android:layout_centerHorizontal="true"/>
</RelativeLayout>
btn = (Button)findViewById(R.id.firstButton);
btn.setOnClickListener(new View.OnClickListener()
{
    @Override
    public void onClick(View v)
    {
        //Code goes inside this function.
    }
});