2016-12-26 5 views
1

in den bleow geposteten Code hinzuzufügen, ich versuche, einen horizontalen Teiler nach jeder hinzugefügten Ansicht zum linearen Layout wie im Code gezeigt hinzuzufügen. das Problem, das ich habe, ist zur Laufzeit der Teiler zeigt nichtwie ein horizontaler Teiler programmgesteuert

würde mir bitte sagen, warum der Teiler nicht zeigt und wie es erscheint?

Code:

private void inflateView(String bez, String ges) { 
    LinearLayout linLay = (LinearLayout) findViewById(R.id.versicherungsListeActivity2mod_linLay_meineDocList_container); 

    //divider 
    View viewDivider = new View(this); 
    viewDivider.setLayoutParams(new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)); 
    viewDivider.setBackgroundColor(Color.parseColor("#000000")); 

    LayoutInflater inflator = this.getLayoutInflater(); 
    View view = inflator.inflate(R.layout.versicherung_docs_row_model, null);//<<<<<< this is the view i want to add to the map as a key 

    ImageView imgViewLogo = (ImageView) view.findViewById(R.id.versicherungslisteactivity2_docs_lisvie_row_model_imgVie_logo); 
    TextView texVieBez = (TextView) view.findViewById(R.id.versicherungslisteactivity2_docs_lisvie_row_model_texVie_docBezeichnung); 
    TextView texVieExtraItem = (TextView) view.findViewById(R.id.versicherungslisteactivity2_docs_lisvie_row_model_texVie_addMoreDocs); 
    TextView texVieGes = (TextView) view.findViewById(R.id.versicherungslisteactivity2_docs_lisvie_row_model_texVie_docGesellschaft); 
    Button btnMore = (Button) view.findViewById(R.id.versicherungslisteactivity2_docs_lisvie_row_model_btn_more); 


    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 
     imgViewLogo.setImageDrawable(this.getResources().getDrawable(R.drawable.insurance_details_doc, this.getTheme())); 
    } else { 
     imgViewLogo.setImageDrawable(this.getResources().getDrawable(R.drawable.insurance_details_doc)); 
    } 

    texVieBez.setText(bez); 
    texVieGes.setText(bez); 
    btnMore.setVisibility(View.VISIBLE); 

    linLay.addView(view); 

    linLay.addView(viewDivider); 
} 

Antwort

2

viewDivider Höhe hat WRAP_CONTENT und wie die Ansicht leer ist, wird seine Höhe berechnet auf 0.

Sie haben gewünschte Höhe des Teilers einzustellen.

int dividerHeight = getResources().getDisplayMetrics().density * 1; // 1dp to pixels 
viewDivider.setLayoutParams(new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, dividerHeight));