2014-04-24 24 views
0

這裏是我的代碼有錯誤PARAMS如果你還沒有加入以任何父容器,或還沒有手動叫setLayoutParams,然後getLayoutParams()將返回null是空如何設置TextView左邊的paraent動態?

 viewDynamic = new TextView(getApplicationContext()); 
    RelativeLayout relativeLayout = (RelativeLayout) findViewById(R.id.relative); 
    RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams)viewDynamic.getLayoutParams(); 
    params.addRule(RelativeLayout.ALIGN_PARENT_LEFT); 
    params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); 
    params.addRule(RelativeLayout.ABOVE,userEditTxt.getId()); 


    viewDynamic.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 
    viewDynamic.setText(userEditTxt.getText()); 
    viewDynamic.setTextColor(Color.RED); 
    viewDynamic.setTextScaleX(2); 
    viewDynamic.setTextSize(20); 
    viewDynamic.setPadding(10, 10, 10, 10); 
    //viewDynamic.setVisibility(View.GONE); 

    relativeLayout.addView(viewDynamic,params); 

回答

1

製作索裏打電話之前viewDynamic.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));你打電話viewDynamic.getLayoutParams();,或視圖添加到一個容器中,讓的LayoutParams將爲視圖生成。

我建議你添加你這樣的觀點:

viewDynamic = new TextView(getApplicationContext()); 
RelativeLayout relativeLayout = (RelativeLayout) findViewById(R.id.relative); 
RelativeLayout.LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT) 
params.addRule(RelativeLayout.ALIGN_PARENT_LEFT); 
params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); 
params.addRule(RelativeLayout.ABOVE,userEditTxt.getId()); 

viewDynamic.setText(userEditTxt.getText()); 
viewDynamic.setTextColor(Color.RED); 
viewDynamic.setTextScaleX(2); 
viewDynamic.setTextSize(20); 
viewDynamic.setPadding(10, 10, 10, 10); 

relativeLayout.addView(viewDynamic,params);//you attach params to your View here 
+0

感謝üsipka.your回答解決我的問題 –

+0

如果沒有,請考慮接受我的投票作爲回答,只留給我的答案。 – Sipka