Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.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
Android在布局中单击侦听器_Android - Fatal编程技术网

Android在布局中单击侦听器

Android在布局中单击侦听器,android,Android,嗨,这是我的自定义视图,当我设置click listener时,会出现空指针异常 public class PestButtons extends AbsoluteLayout{ private LayoutInflater inflater; private OnClickListener screenshotOnClickListener = new OnClickListener() { public void onClick(View v) {

嗨,这是我的自定义视图,当我设置click listener时,会出现空指针异常

public class PestButtons extends AbsoluteLayout{

    private LayoutInflater inflater;

    private OnClickListener screenshotOnClickListener = new OnClickListener() {
        public void onClick(View v) {
      //      getContext().startActivity(new Intent(getContext(), ScreenshotActivity.class));
        Log.i("a", "a");
        }
    };  


    public PestButtons(Context context, AttributeSet attrs) {
        super(context, attrs);

        inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        inflater.inflate(R.layout.pestbuttons, this,true);
         ImageButton img = (ImageButton) this.findViewById(R.id.reportListBtn);
              img.setOnClickListener(screenshotOnClickListener);

    }




}
xml:

<?xml version="1.0" encoding="UTF-8"?>



<merge xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">


    <ImageButton id="@+id/reportListBtn"
    android:src="@drawable/reportlist"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
   android:layout_x="5px"
    android:layout_y="20px"

/>



 </merge>
我的使用布局:

<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout
    android:id="@+id/main"

android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
>

<com.AgricultureTrading.PestButtons
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" />

<TextView
android:id="@+id/err"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#ffff0000"
android:layout_x="320px"
android:layout_y="25px"

/>

<TextView
android:id="@+id/weather"
android:layout_width="260px"
android:layout_height="wrap_content"
android:layout_x="140px"
android:layout_y="60px"
/>

<ImageView
android:id="@+id/loaderImageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="395px"
android:layout_y="60px"
/>

<Button
android:id="@+id/playBtn"
android:layout_width="93px"
android:layout_height="wrap_content"
android:text="Play sound"
android:layout_x="140px"
android:layout_y="120px"
android:onClick="playBtn_click"
/>


<ImageButton
android:id="@+id/userimage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="150px"
android:layout_y="5px"
android:onClick="changeimage_click"
/>

<TextView
android:id="@+id/weatherLbl"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView"
android:layout_x="140px"
android:layout_y="96px"
/>      
</AbsoluteLayout>
错误日志:

09:51:56.153 717 com.AgricultureTrading错误AndroidRuntime致命异常:主 09:51:56.153 717 com.AgricultureTrading错误AndroidRuntime java.lang.RuntimeException:无法启动活动组件信息{com.AgricultureTrading/com.AgricultureTrading.Tabs}:java.lang.RuntimeException:无法启动活动组件信息{com.AgricultureTrading/com.AgricultureTrading.ProfileActivity}:android.view.InflateException:二进制XML文件第68行:膨胀类com.AgricultureTrading.PestButtons时出错 09:51:56.153 717在android.app.ActivityThread.PerformLaunchActivityYaActivityThread.java:1815处出现com.AgricultureTrading错误AndroidRuntime 09:51:56.153 717在android.app.ActivityThread.handleLaunchActivityYaActivityThread.java:1831处出现com.AgricultureTrading错误AndroidRuntime 09:51:56.153 717 com.AgricultureTrading错误AndroidRuntime位于android.app.ActivityThread.access$500ActivityThread.java:122 09:51:56.153 717在android.app.ActivityThread$H.handleMessageActivityThread.java:1024处出现com.agricultureReading错误AndroidRuntime 09:51:56.153 717 com.AgricultureTrading错误AndroidRuntime位于android.os.Handler.dispatchMessageHandler.java:99 09:51:56.153 717 com.AgricultureTrading错误AndroidRuntime位于android.os.Looper.loopLooper.java:132 09:51:56.153 717 com.AgricultureTrading错误AndroidRuntime位于android.app.ActivityThread.mainActivityThread.java:4123 09:51:56.153 717 com.AgricultureTrading错误AndroidRuntime位于java.lang.reflect.Method.invokenactive Method 09:51:56.153 717 com.AgricultureTrading错误AndroidRuntime位于java.lang.reflect.Method.invokeMethod.java:491 09:51:56.153 717 com.AgricultureTrading ERROR AndroidRuntime位于com.android.internal.os.ZygoteInit$MethodAndArgsCaller.runZygoteInit.java:841 09:51:56.153 717 com.AgricultureTrading ERROR AndroidRuntime位于com.android.internal.os.ZygoteInit.mainZygoteInit.java:599 09:51:56.153 717 com.AgricultureTrading ERROR AndroidRuntime位于dalvik.system.NativeStart.main本地方法 09:51:56.153 717 com.AgricultureTrading错误AndroidRuntime原因:java.lang.RuntimeException:无法启动活动组件信息{com.AgricultureTrading/com.AgricultureTrading.ProfileActivity}:android.view.InflateException:二进制XML文件行68:膨胀类com.AgricultureTrading.PestButtons时出错 09:51:56.153 717在android.app.ActivityThread.startActivityNowActivityThread.java:1656处出现com.AgricultureTrading错误AndroidRuntime 09:51:56.153 717在android.app.LocalActivityManager.moveToStateLocalActivityManager.java:135处出现com.agricultureReading错误AndroidRuntime 09:51:56.153 717 com.agricultureReading错误AndroidRuntime位于android.app.LocalActivityManager.StartActivityCalActivityManager.java:347 09:51:56.153 717在android.widget.TabHost$IntentContentStrategy.getContentViewTabHost.java:676处出现com.agricultureReading错误AndroidRuntime 09:51:56.153 717 com.agricultureReading错误AndroidRuntime位于android.widget.TabHost.setCurrentTabHost.java:345 09:51:56.153 717 com.AgricultureTrading错误AndroidRuntime位于com.AgricultureTrading.Tabs.onCreateTabs.java:34 09:51:56.153 717 com.AgricultureTrading错误AndroidRuntime位于android.app.Activity.performCreateActivity.java:4397 09:51:56.153 717在android.app.Instrumentation.callActivityOnCreateInstrumentation.java:1048处出现com.agricultureReading错误AndroidRuntime 09:51:56.153 717在android.app.ActivityThread.PerformLaunchActivityYaActivityThread.java:1779处出现com.AgricultureTrading错误AndroidRuntime 09:51:56.153 717 com.AgricultureTrading ERROR AndroidRuntime。。。还有11个 09:51:56.153 717 com.AgricultureTrading错误AndroidRuntime由以下原因引起:android.view.InflateException:二进制XML文件第68行:膨胀类com.AgricultureTrading.PestButtons时出错 09:51:56.153 717 com.agricultureReading错误AndroidRuntime位于android.view.LayoutInflater.createViewLayoutInflater.java:596 09:51:56.153 717在android.view.LayoutInflater.createViewFromTagLayoutInflater.java:671处出现com.agricultureReading错误AndroidRuntime 09:51:56.153 717 com.AgricultureTrading错误AndroidRuntime位于android.view.LayoutInflater.rInflateLayoutInflater.java:724 09:51:56.153 717 com.AgricultureTrading错误AndroidRuntime位于android.view.LayoutInflater.inflateLayoutInflater.java:479 09:51:56.153 717 com.AgricultureTrading错误AndroidRuntime位于android.view.LayoutInflater.inflateLayoutInflater.java:391 09:51:56.153 717在android.view.LayoutInflater.inflateLayoutInflater.jav上的com.AgricultureTrading错误和idruntime a:347 09:51:56.153 717 com.AgricultureTrading错误AndroidRuntime位于com.android.internal.policy.impl.PhoneWindow.setContentViewPhoneWindow.java:223 09:51:56.153 717 com.AgricultureTrading错误AndroidRuntime位于android.app.Activity.setContentViewActivity.java:1786 09:51:56.153 717 com.AgricultureTrading.ProfileActivity.onCreateProfileActivity.java:43处的com.AgricultureTrading错误和idruntime 09:51:56.153 717 com.AgricultureTrading ERROR AndroidRuntime。。。20多 09:51:56.153 717 com.AgricultureTrading错误AndroidRuntime由以下原因引起:java.lang.reflect.InvocationTargetException 09:51:56.153 717 java.lang.reflect.Constructor.Constructional方法处的com.agricultureReading错误和IDRuntime 09:51:56.153 717 com.AgricultureTrading错误AndroidRuntime位于java.lang.reflect.Constructor.newInstanceConstructor.java:416 09:51:56.153 717在android.view.LayoutInflater.createViewLayoutInflater.java:576处出现com.agricultureReading错误AndroidRuntime 09:51:56.153 717 com.AgricultureTrading ERROR AndroidRuntime。。。还有31个 09:51:56.153 717 com.agricultureReading错误AndroidRuntime由以下原因引起:java.lang.NullPointerException 09:51:56.153 717 com.AgricultureTrading错误AndroidRuntime位于com.AgricultureTrading.PestButtons.PestButtons.java:43
09:51:56.153 717 com.AgricultureTrading ERROR AndroidRuntime。。。34更多

我假设您希望从充气视图中获取img:

         View v = inflater.inflate(R.layout.pestbuttons, this,true);
         ImageButton img = (ImageButton) v.findViewById(R.id.reportListBtn);
         if (img != null) {
             img.setOnClickListener(screenshotOnClickListener);
         }

请提供错误消息。发布您的崩溃日志,然后我们可以找到您的确切问题。我实际上在stackoverflow.com/questions/4121986/…中遵循了第二篇帖子。为什么他们没有错误?对不起,我的错误。这不是活动,而是你自己的布局。还可以显示使用layoutPestButtons的xml布局吗?提供。。这很紧急。请帮帮我