2016-08-31 55 views
0

我有一個問題,即findViewById()總是在我的對話框中的ImageView返回null:(ImageView的)findViewById()始終返回null

private void startDetailView(int num)throws NullPointerException{ 

    Dialog detailed = new Dialog(this, android.R.style.Theme_Translucent_NoTitleBar_Fullscreen); 
    detailed.setContentView(R.layout.activity_detail_view); 
    TextView text = (TextView)detailed.findViewById(R.id.detailedTextView); 
    ImageView picture = (ImageView)findViewById(R.id.detailedImageView); 
    detailed.show(); 

    /*picture.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      final Dialog dial = new Dialog(ScrollActivity.this, android.R.style.Theme_Translucent_NoTitleBar_Fullscreen); 
      dial.setContentView(R.layout.picture_view); 
      FrameLayout cont = (FrameLayout)findViewById(R.id.container); 
      cont.setBackground(getResources().getDrawable(R.drawable.vine)); 
      dial.show(); 

      cont.setOnClickListener(new OnClickListener() { 
       @Override 
       public void onClick(View view) { 
        dial.dismiss(); 
       } 
      }); 
     } 
    });*/ 
} 

XML:

<ImageView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/detailedImageView" 
    android:layout_below="@+id/detailedTextView" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="134dp" /> 

的錯誤:

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.FrameLayout.setOnClickListener(android.view.View$OnClickListener)' on a null object reference 
     at at.tryouts.mcfuckinvineapp.wein.ScrollActivity$1.onClick(ScrollActivity.java:78) 
     at android.view.View.performClick(View.java:5280) 
     at android.view.View$PerformClick.run(View.java:21239) 
     at android.os.Handler.handleCallback(Handler.java:739) 
     at android.os.Handler.dispatchMessage(Handler.java:95) 
     at android.os.Looper.loop(Looper.java:234) 
     at android.app.ActivityThread.main(ActivityThread.java:5526) 
     at java.lang.reflect.Method.invoke(Native Method) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 

這也發生在第二個對話框的FrameLayout中。 Interstingly只有這兩個受到影響,我可以添加任何其他視圖沒有任何問題。

我希望你能幫助我,我無法想象它有什麼問題。

+0

請提供更多xml(如果可能,請填寫) – TWL

回答

0

它可能錯誤活動視圖從詳細視圖。我敢打賭你的ImageView在詳細視圖下,因爲它是「layout_below:detailedTextView」。嘗試更改爲

ImageView picture = (ImageView) detailed.findViewById(R.id.detailedImageView); 
+0

謝謝,解決了問題! – WDLinken

+0

沒問題。不要忘記接受別人遇到同樣問題的答案:) –