I';我的android应用程序出错,按下按钮后崩溃
我试着实现一个我遵循的修复,但没有结果,我很确定这是一个我没有看到的小东西。这是来自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(本机方法) 代码 XMLI';我的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
我是新来的,我对安卓系统的经验有点有限。然而,我认为如果不发布代码,就很难判断是什么导致了崩溃(至少对像我这样的人来说)。添加您的代码可能会激励其他人帮助您。从您上面发布的代码中我可以看出,由于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.
}
});