2013-05-27 127 views
0

我有我的課,它擴展了baseActivity,除了一個簡單的onClick on textview之外,所有的工作都很好: - |Android,textview onclick崩潰

TextView labelName_view = (TextView) findViewById(R.id.labelName); 
labelName_view.setOnClickListener(new OnClickListener() { 
    public void onClick(View v) { 
     // animazione automatica al click 
     LinearLayout contenitore_cibo_l=(LinearLayout) findViewById(R.id.bottom_container); 
     LayoutParams lp = (LayoutParams) contenitore_cibo_l.getLayoutParams(); 
     System.out.println(lp.topMargin); 
     //contenitore_cibo_l.startAnimation(makeAnimation_ordini(400, 25)); 
    } 
}); 

當我點擊,它與崩潰:

05-27 12:30:22.722: E/AndroidRuntime(2932): FATAL EXCEPTION: main 
05-27 12:30:22.722: E/AndroidRuntime(2932): java.lang.ClassCastException: android.widget.RelativeLayout$LayoutParams cannot be cast to android.app.ActionBar$LayoutParams 
05-27 12:30:22.722: E/AndroidRuntime(2932):  at com.web_pos.android.OrderActivity$4.onClick(OrderActivity.java:296) 
05-27 12:30:22.722: E/AndroidRuntime(2932):  at android.view.View.performClick(View.java:3511) 
05-27 12:30:22.722: E/AndroidRuntime(2932):  at android.view.View$PerformClick.run(View.java:14105) 
05-27 12:30:22.722: E/AndroidRuntime(2932):  at android.os.Handler.handleCallback(Handler.java:605) 
05-27 12:30:22.722: E/AndroidRuntime(2932):  at android.os.Handler.dispatchMessage(Handler.java:92) 
05-27 12:30:22.722: E/AndroidRuntime(2932):  at android.os.Looper.loop(Looper.java:137) 
05-27 12:30:22.722: E/AndroidRuntime(2932):  at android.app.ActivityThread.main(ActivityThread.java:4424) 
05-27 12:30:22.722: E/AndroidRuntime(2932):  at java.lang.reflect.Method.invokeNative(Native Method) 
05-27 12:30:22.722: E/AndroidRuntime(2932):  at java.lang.reflect.Method.invoke(Method.java:511) 
05-27 12:30:22.722: E/AndroidRuntime(2932):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 
05-27 12:30:22.722: E/AndroidRuntime(2932):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 
05-27 12:30:22.722: E/AndroidRuntime(2932):  at dalvik.system.NativeStart.main(Native Method) 
+0

您的logcat似乎缺少一些錯誤行...特別是那些指定程序崩潰的行。 – JosephGarrone

+0

您是否正在採用容器佈局的佈局參數? – UnderGround

+0

確保'LayoutParams'來自'LinearLayout'。改爲使用'LinearLayout.LayoutParams'。 –

回答

2

問題是與你正在使用的LayoutParams類型。從日誌看來,您使用的是android.app.ActionBar.LayoutParams。將其更改爲android.widget.RelativeLayout.LayoutParams並且應該順利運行。希望能幫助到你。

+0

是的,它的工作原理!希望它不涉及其他一些問題,但似乎沒有 – Zak

+1

它不應該。我們必須按照Bhupendra下面正確指出的那樣採用/導入容器佈局的LayoutParams。 – Gagan

0

您需要更正您的導入語句的LayoutParams。

代替進口android.app.ActionBar.LayoutParams的,你應該導入android.widget.RelativeLayout.LayoutParams

1

你必須始終以您要更改佈局容器佈局的佈局PARAM,假設我想改變線性佈局中的按鈕佈局,所以我必須採取線性佈局參數