Android在布局中单击侦听器
嗨,这是我的自定义视图,当我设置click listener时,会出现空指针异常Android在布局中单击侦听器,android,Android,嗨,这是我的自定义视图,当我设置click listener时,会出现空指针异常 public class PestButtons extends AbsoluteLayout{ private LayoutInflater inflater; private OnClickListener screenshotOnClickListener = new OnClickListener() { public void onClick(View v) {
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布局吗?提供。。这很紧急。请帮帮我