2011-08-05 11 views
2

私はコードでのEditTextのためmarginTopを変更する方法を見つけるためにしようとしている...私はsetLayoutParamsについて読んだが、私はForceCloseと、このメッセージが表示されます。余白を変更する方法コード別にトップ?

08-05 14:53:59.715: ERROR/AndroidRuntime(913): java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams 
08-05 14:53:59.715: ERROR/AndroidRuntime(913):  at android.widget.RelativeLayout$DependencyGraph.findRoots(RelativeLayout.java:1291) 
08-05 14:53:59.715: ERROR/AndroidRuntime(913):  at android.widget.RelativeLayout$DependencyGraph.getSortedViews(RelativeLayout.java:1238) 
08-05 14:53:59.715: ERROR/AndroidRuntime(913):  at android.widget.RelativeLayout.sortChildren(RelativeLayout.java:279) 
08-05 14:53:59.715: ERROR/AndroidRuntime(913):  at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:299) 
08-05 14:53:59.715: ERROR/AndroidRuntime(913):  at android.view.View.measure(View.java:7964) 

誰も私が何をすべき説明できますか?私は通常私のRファイルが古くなっていることで見つける

<EditText android:id="@+id/txt_username" 
     android:layout_height="wrap_content" android:layout_width="350px" 
     android:layout_centerHorizontal="true" android:layout_below="@+id/loginsubtitle" 
     android:layout_marginTop="180dip" android:singleLine="true" 
     android:hint="Identifiant" /> 
+0

キャスト例外がありますが、間違ったキャストでfindByIdを使用している可能性があります。コードを投稿できますか? –

答えて

6

を再構築するにはこれを試して掃除してみてください:

giveuser = (EditText) findViewById(R.id.txt_username); 
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); 
     lp.setMargins(5,5,5,5); 
     giveuser.setLayoutParams(lp); 

とxmlで

LayoutParams params = EditTextName.getLayoutParams(); 
params.setMargins(left, top, right, bottom); 
EditTextName.setLayoutParams(params); 
+0

topマージンが存在しません – Gabrielle

+0

params.setMargins(arg0、arg1、arg2、arg3);を探します。 –

+0

あなたはlinearlayoutparamとしてlpを取得しています。 edittext layoutparamを取得します。そのため、マージンを設定していません。 –

0

クラスキャスト例外は、あなたのプロジェクトと

0

新しいLayoutParamsを作成する代わりに、を取得する必要がありますEditTextの0これを試すことができます:

EditText giveuser = (EditText) findViewById(R.id.txt_username); 
LayoutParams lp = giveuser.getLayoutParams(); 
lp.setMargins(left, top, right, bottom); 
giveuser.setLayoutParams(lp); 
関連する問題