单击imagebutton时出现android stackoverflow错误

单击imagebutton时出现android stackoverflow错误,android,stack-overflow,Android,Stack Overflow,我的ImageButton点击监听器在上面。我收到以下错误 ib.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if(et.getText()!=null){ tosearch=et.getText().toString(); Intent seach

我的ImageButton点击监听器在上面。我收到以下错误

ib.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            if(et.getText()!=null){
                tosearch=et.getText().toString();
                    Intent seach=new Intent(getActivity(), Search.class);
                seach.putExtra("key", seach);
                startActivity(seach);
            }
        }
    });

我的应用程序由包含三个片段的mainactivity和第二个activity组成。我已经搜索了,但没有找到任何有用的内容。请帮忙解决这个错误。

我猜这行就是问题所在

07-25 01:30:59.017: D/dalvikvm(1699): GC_EXTERNAL_ALLOC freed 127K, 50% free   2843K/5575K, external 5307K/5765K, paused  
31ms 07-25 01:31:02.791: I/dalvikvm(1699): threadid=1: stack overflow on call to Landroid/os/Parcel;.writeInt:VI
07-25 01:31:02.791: I/dalvikvm(1699):   method requires 8+20+0=28 bytes, fp is 0x4428a318 (24 left)
07-25 01:31:02.791: I/dalvikvm(1699):   expanding stack end (0x4428a300 to 0x4428a000)
07-25 01:31:02.791: I/dalvikvm(1699): Shrank stack (to 0x4428a300, curFrame is 0x4428cebc)
07-25 01:31:02.791: D/AndroidRuntime(1699): Shutting down VM
07-25 01:31:02.791: W/dalvikvm(1699): threadid=1: thread exiting with uncaught exception (group=0x40015578)
07-25 01:31:02.849: E/AndroidRuntime(1699): FATAL EXCEPTION: main
07-25 01:31:02.849: E/AndroidRuntime(1699): java.lang.StackOverflowError
07-25 01:31:02.849: E/AndroidRuntime(1699):     at android.net.Uri.writeToParcel(Uri.java:1645)
07-25 01:31:02.849: E/AndroidRuntime(1699):     at android.content.Intent.writeToParcel(Intent.java:5601)
07-25 01:31:02.849: E/AndroidRuntime(1699):     at android.os.Parcel.writeParcelable(Parcel.java:1151)
看起来应该是这样的

 seach.putExtra("key", seach);

您正在将
Intent
作为
额外的
放在其内部

放置
额外的
时,您正在创建一个递归循环。记住,
extra
被定义为“Intent.putExtra(“key”,value);”


您输入的
就是
意图
本身。它将变得越来越大。

将一个意图作为一个额外的元素放入自身并不能很好地序列化
 seach.putExtra("key", tosearch);