我已經建立了我的自定義滾動型佈局像下面安卓:設置RelativeLayout.LayoutParams,卻得到了FrameLayout.LayoutParams後來
public class MyScrollView extends ScrollView {
RelativeLayout mContentView = null;
public MyScrollView(final Context context) {
super(context);
RelativeLayout.LayoutParams adaptLayout = new RelativeLayout.LayoutParams(320, 480);
adaptLayout.setMargins(0, 0, 0, 0);
setLayoutParams(adaptLayout);
mContentView = new RelativeLayout(context);
RelativeLayout.LayoutParams adaptLayout2 = new RelativeLayout.LayoutParams(300, 960);
adaptLayout2.setMargins(0, 0, 0, 0);
mContentView.setLayoutParams(adaptLayout2);
Button btn = new Button(context);
btn.setText("start dialog");
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) mContentView.getLayoutParams();
params.height = 1000;
setLayoutParams(params);
MyScrollView.this.invalidate();
}
});
}
但是,我得到了FrameLayout.LayoutParams使用getLayoutParams的後面鍵入()。
令人困惑的行爲......任何想法?謝謝。
2月5日至25日:06:58.082:ERROR/AndroidRuntime(219):java.lang.ClassCastException:android.widget.FrameLayout $的LayoutParams
2月5日至25日:06:58.082:ERROR/AndroidRuntime( 219):at com.example.hello.MyScrollView $ 1.onClick(MyScrollView.java:42)
05-25 02:06:58.082:ERROR/AndroidRuntime(219):at android.view.View.performClick(View。的java:2344)
2月5日至25日:06:58.082:ERROR/AndroidRuntime(219):在android.view.View.onTouchEvent(View.java:4133)
當我遇到類似問題時,我在視圖周圍創建了一個新的LinearLayout,並獲得對此的引用。但我不能完全理解你的問題。 – LiTTle 2014-12-03 13:14:52