您需要更改以下
check1.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT));
在這一行,你用動作條PARAMS,然後LinearLayoutCompat PARAMS。嘗試堅持1類,並在自定義視圖像複選框只是LinearLayout會做。
更新1:
您應該使用CheckedTextView。我已經使用了標準的android drawable,但您也可以使用您的自定義Check複選框設計。
所以,你的整個代碼看起來像 -
final CheckedTextView check1 = new CheckedTextView(getApplicationContext());
check1.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT));
check1.setId(fieldNo);
check1.setCheckMarkDrawable(android.R.drawable.checkbox_off_background);
check1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (check1.isChecked()){
check1.setChecked(false);
check1.setCheckMarkDrawable(android.R.drawable.checkbox_off_background);
}else{
check1.setChecked(true);
check1.setCheckMarkDrawable(android.R.drawable.checkbox_on_background);
}
}
});
check1.setTextColor(Color.BLACK);
check1.setGravity(Gravity.LEFT);
check1.setText(formField.get(fieldNo));
'check1.setGravity(Gravity.LEFT)'試試這個 –
嘗試,但沒有工作。 – max