2016-01-20 51 views
0

我在Android聊天信使。我已經包含。對點擊的ImageView的ImageView的一個活動,一個對話框,將成爲對話打開.Layout工作的看法是:java.lang.IllegalArgumentException異常:未找到片段

emoji.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 

    <FrameLayout 
     android:id="@+id/emojicon" 
     android:layout_width="match_parent" 
     android:layout_height="50dp" /> 

</LinearLayout> 

代碼處理圖像點擊

imageView.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      hideKeyboard(); // hiding the keyboard 
      // showEmojiPopUp(!showEmoji); 
      Dialog dialog = new Dialog(ChatActivity.this); 
      dialog.setContentView(R.layout.emoji); 
      getSupportFragmentManager().beginTransaction().replace(R.id.emojicon, EmojiconsFragment.newInstance(false)).commit(); 
      dialog.show(); 
     } 
    }); 

在點擊圖像視圖時,我創建了一個包含FrameLayout的對話框。在這裏,EmojiFragment將創建一個表情符號面板,並且Emoji.xml中的FrameLayout將被EmojiFragment替換。但在這裏我得到了下面提到的錯誤:

java.lang.IllegalArgumentException: No view found for id 0x7f0c004b (com.almabay.almachat:id/emojicon) for fragment EmojiconsFragment{429a7f68 #1 id=0x7f0c004b} 
     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:947) 
     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1138) 
     at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:740) 
     at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1501) 
     at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:458) 
     at android.os.Handler.handleCallback(Handler.java:615) 
     at android.os.Handler.dispatchMessage(Handler.java:92) 
     at android.os.Looper.loop(Looper.java:153) 
     at android.app.ActivityThread.main(ActivityThread.java:5096) 
     at java.lang.reflect.Method.invokeNative(Native Method) 
     at java.lang.reflect.Method.invoke(Method.java:511) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557) 
     at dalvik.system.NativeStart.main(Native Method) 

請幫我解決它。

+0

嘗試使用'DialogBu​​ilder'。 [Vogella教程](http://www.vogella.com/tutorials/AndroidDialogs/article.html) –

回答

0

這是顯示自定義對話框的示例。自定義是xml佈局這裏

final Dialog dialog = new Dialog(context); 
      dialog.setContentView(R.layout.custom); 
      dialog.setTitle("Title..."); 

      // set the custom dialog components - text, image and button 
      TextView text = (TextView) dialog.findViewById(R.id.text); 
      text.setText("Android custom dialog example!"); 
      ImageView image = (ImageView) dialog.findViewById(R.id.image); 
      image.setImageResource(R.drawable.ic_launcher); 

      Button dialogButton = (Button) dialog.findViewById(R.id.dialogButtonOK); 
      // if button is clicked, close the custom dialog 
      dialogButton.setOnClickListener(new OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        dialog.dismiss(); 
       } 
      }); 

      dialog.show(); 
      } 

我希望這會有所幫助。

相關問題