1
XML에 이미있는 RelativeLayout을 토스트보기에 추가하려고합니다. 이것은 내 메인 UI 스레드가 아닙니다.Toastview를 편집하고 반환 할 때 OnClick이 충돌 함
@Override
public void onClick(View v)
{
mContext.setContentView(R.layout.toast_layout);
Drawable myImage;
Toast imageToast = new Toast(mContext);
final RelativeLayout toastLayout = (RelativeLayout) mContext.findViewById(R.id.relative_toast);
final ImageView myIv = (ImageView)toastLayout.findViewById(R.id.tImage);
final TextView nameText = (TextView)toastLayout.findViewById(R.id.tFriendName);
final TextView interestText = (TextView)toastLayout.findViewById(R.id.tInterests);
myImage = getImageDrawable(mContext, friend.getmPic(), "image.jpg");
myIv.setImageDrawable(myImage);
nameText.setText("Name: " + friend.getmName() +
"\nID: " + friend.getmId());
nameText.setPadding(10, 0, 0, 5);
nameText.setTextColor(Color.BLACK);
interestText.setText("Interests: " + friend.getmInterests());
interestText.setTextColor(Color.BLACK);
toastLayout.setBackgroundColor(Color.LTGRAY);
toastLayout.setMinimumHeight(400);
toastLayout.setMinimumWidth(250);
toastLayout.setPadding(10, 10, 10, 10);
imageToast.setView(toastLayout);
imageToast.setDuration(Toast.LENGTH_LONG);
imageToast.show();
}
디버그는이 범위에서 복귀 할 때 충돌을 표시합니다.
로그 캣 :
04-27 00:15:56.091: ERROR/AndroidRuntime(586): FATAL EXCEPTION: main
04-27 00:15:56.091: ERROR/AndroidRuntime(586): java.lang.IllegalArgumentException: View not attached to window manager
04-27 00:15:56.091: ERROR/AndroidRuntime(586): at android.view.WindowManagerImpl.findViewLocked(WindowManagerImpl.java:355)
04-27 00:15:56.091: ERROR/AndroidRuntime(586): at android.view.WindowManagerImpl.removeView(WindowManagerImpl.java:200)
04-27 00:15:56.091: ERROR/AndroidRuntime(586): at android.widget.Toast$TN.handleShow(Toast.java:370)
04-27 00:15:56.091: ERROR/AndroidRuntime(586): at android.widget.Toast$TN$1.run(Toast.java:302)
04-27 00:15:56.091: ERROR/AndroidRuntime(586): at android.os.Handler.handleCallback(Handler.java:587)
04-27 00:15:56.091: ERROR/AndroidRuntime(586): at android.os.Handler.dispatchMessage(Handler.java:92)
04-27 00:15:56.091: ERROR/AndroidRuntime(586): at android.os.Looper.loop(Looper.java:123)
04-27 00:15:56.091: ERROR/AndroidRuntime(586): at android.app.ActivityThread.main(ActivityThread.java:4627)
04-27 00:15:56.091: ERROR/AndroidRuntime(586): at java.lang.reflect.Method.invokeNative(Native Method)
04-27 00:15:56.091: ERROR/AndroidRuntime(586): at java.lang.reflect.Method.invoke(Method.java:521)
04-27 00:15:56.091: ERROR/AndroidRuntime(586): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
04-27 00:15:56.091: ERROR/AndroidRuntime(586): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
04-27 00:15:56.091: ERROR/AndroidRuntime(586): at dalvik.system.NativeStart.main(Native Method)
은 내가하지 않을 것을 무슨 변화는 무엇입니까?
감사합니다. 다음 toast_layout_root이
LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.toast_layout,
(ViewGroup) findViewById(R.id.toast_layout_root));
입니다해야하는 위치 위에
감사합니다. 여전히 동일한 예외가 발생합니다. "보기가 창 관리자에 연결되지 않았습니다." – SemperFly