2011-09-16 8 views
1

こんにちはこれは私のカスタムビューです。クリックリスナーに設定するとnullポインタ例外が発生します。レイアウト上のクリックリスナーで

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> 

マイuseageレイアウト:

<?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のERROR AndroidRuntime致命的な例外:メイン 09:51:56.153 717 com.AgricultureTrading ERROR AndroidRuntime java.lang.RuntimeE xInception:アクティビティを開始できませんComponentInfo {com.AgricultureTrading/com.AgricultureTrading.Tabs}:java.lang.RuntimeException:アクティビティを開始できませんComponentInfo {com.AgricultureTrading/com.AgricultureTrading.ProfileActivity}:android.view.InflateException:バイナリXMLファイルライン#68:クラスcom.AgricultureTrading.PestButtonsを膨張させるエラー。 09:51:56.153 717 com.AgricultureTrading ERROR AndroidRuntime at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1815) 09:51:56.153 717 com.AgricultureTradingエラーAndroidRuntime at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1831) 09:51:56.153 717 com.AgricultureTradingエラーandroid.app.ActivityThread.accessでのAndroidRuntime $ 500(ActivityThread.java:122) 09:51: 56.153 717 com.AgricultureTradingエラーAndroidRuntime at android.app.ActivityThread $ H.handleMessage(ActivityTh AndroidRuntime android.os.Handler.dispatchMessage(Handler.java:99) 09:51:56.153 717 com.AgricultureTrading ERROR AndroidRuntime at android.os。 Looper.loop(Looper.java:132) 09:51:56.153 717 com.AgricultureTrading ERROR AndroidRuntime at android.app.ActivityThread.main(ActivityThread.java:4123) 09:51:56.153 717 com.AgricultureTrading ERROR AndroidRuntime at java.lang.reflect.Method.invokeNative(ネイティブメソッド) 09:51:56.153 717 com.AgricultureTradingエラーAndroidRuntime java.lang.reflect.Method.invoke(Method.java:491) 09:51:56.153 717 com .AgricultureTrading ERROR AndroidRuntime at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:841) 09:51:56.153 717 com.AgricultureTradin g ERROR AndroidRuntime at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599) 09:51:56.153 717 com.AgricultureTrading ERROR AndroidRuntime at dalvik.system.NativeStart.main(ネイティブメソッド) 09:51 :56.153 717 com.AgricultureTradingエラーAndroidRuntime原因:java.lang.RuntimeException:アクティビティを開始できませんComponentInfo {com.AgricultureTrading/com.AgricultureTrading.ProfileActivity}:android.view.InflateException:バイナリXMLファイル行#68:クラスを拡張しているエラーcom.AgricultureTrading.PestButtons 09:51:56.153 717 com.AgricultureTrading ERROR AndroidRuntime at android.app.ActivityThread.startActivityNow(ActivityThread.java:1656) 09:51:56.153 717 com.AgricultureTrading ERROR android.app.LocalActivityManagerのAndroidRuntime .moveToState(LocalActivityManager.java:135) 09:51:56.153 717 com.AgricultureTrading ERROR An droidRuntime at android.app.LocalActivityManager.startActivity(LocalActivityManager.java:347) 09:51:56.153 717 com.AgricultureTrading ERROR AndroidRuntime at android.widget.TabHost $ IntentContentStrategy.getContentView(TabHost.java:676) 09:51: 56.153 717 com.AgricultureTrading ERROR AndroidRuntime at android.widget.TabHost.setCurrentTab(TabHost.java:345) 09:51:56.153 717 com.AgricultureTrading ERROR AndroidRuntime com.AgricultureTrading.Tabs.onCreate(Tabs.java:34) 09:51:56.153 717 com.AgricultureTradingエラーAndroidRuntime at android.app.Activity.performCreate(Activity.java:4397) 09:51:56.153 717 com。農業売買エラーAndroidRuntime android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1048) 09:51:56.153 717 com.AgricultureTrading ERROR AndroidRuntime at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1779) 09:51: 56.153 717 com.AgricultureTrading ERROR AndroidRuntime ... 11 more 09:51:56.153 717 com.AgricultureTrading ERROR AndroidRuntime原因:android.view.InflateException:バイナリXMLファイルの行番号68:Error inflating class com.AgricultureTrading.PestButtons 09 :51:56.153 717 com.AgricultureTrading ERROR AndroidRuntime at android.view.LayoutInflater.createView(LayoutInflater.java:596) 09:51:56.153 717 com.AgricultureTradingエラーandroid.view.LayoutInflater.createViewFromTagのAndroidRuntime(LayoutInflater.java: 671) 09:51:56.153 717 com.Ag ricultureTradingエラーAndroidRuntime at android.view.LayoutInflater.rInflate(LayoutInflater.java:724) 09:51:56.153 717 com.AgricultureTrading ERROR AndroidRuntime at android.view.LayoutInflater.inflate(LayoutInflater.java:479) 09:51: AndroidRuntime android.view.LayoutInflater.inflate(LayoutInflater.java:341) 09:51:56.153 717 com.AgricultureTrading ERROR AndroidRuntime android.view.LayoutInflater.inflate(LayoutInflater.java:347) 09:51:56.153 717 com.AgricultureTradingエラーAndroidRuntime com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:223) 09:51:56.153 717 com.AgricultureTrading ERROR AndroidRuntime at android.app.Activity .setContentView(Activity.java:1786) 09:51:56.153 717 com.AgricultureTrading ERROR AndroidRunti私はcom.AgricultureTrading.ProfileActivity.onCreate(ProfileActivity.java:43) 09:51:56.153 717 com.AgricultureTrading ERROR AndroidRuntime ... 20 more 09:51:56.153 717 com.AgricultureTrading ERROR AndroidRuntime原因:java。 lang.reflect.InvocationTargetException 09:51:56.153 717 com.AgricultureTradingエラーAndroidRuntimeがjava.lang.reflect.Constructor.constructNative(ネイティブメソッド) 09:51:56.153 717 com.AgricultureTradingエラーAndroidRuntime at java.lang.reflect。コンストラクタ.newInstance(Constructor.java:416) 09:51:56.153 717 com.AgricultureTrading ERROR AndroidRuntime at android.view.LayoutInflater.createView(LayoutInflater.java:576) 09:51:56.153 717 com.AgricultureTrading ERROR AndroidRuntime。 .. 31 more 09:51:56.153 717 com.AgricultureTrading ERROR An droidRuntime原因: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以上

+1

にErrorMessageを提供してください。 – Michele

+0

あなたのクラッシュログを投稿すると、正確な問題を見つけることができます。 –

答えて

0

私はあなたが膨張したビューからのimg取得したいと仮定します。

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

私は実際には、stackoverflow.com/questions/4121986/の2番目の投稿に続きました。なぜ彼らはエラーがないのですか? – user903772

+0

申し訳ありません、私の間違い。アクティビティではなく自分のレイアウトです。レイアウト(PestButtons)を使用するxmlレイアウトも表示できますか? – ania

+0

これは緊急です。私を助けてください – user903772

関連する問題