2015-01-21 3 views
-1

SlidingDrawer에 동적으로 TextView를 추가하고 싶습니다. 다음은 내 XML 코드 :SlidingDrawer에 TextView를 동적으로 추가하기

<SlidingDrawer 
    android:id="@+id/sdDrawerBottom" 
    android:layout_width="match_parent" 
    android:layout_height="100dp" 
    android:layout_alignParentBottom="true" 
    android:content="@+id/sdBottomContent" 
    android:handle="@+id/sdBottomHandle" 
    android:orientation="vertical" > 

    <ImageView 
     android:id="@+id/sdBottomHandle" 
     android:layout_width="50dp" 
     android:layout_height="20dp" 
     android:background="@drawable/shape_rounded_corners_blue_top" 
     android:scaleType="center" 
     android:src="@drawable/icon_arrow_up_white" /> 

    <LinearLayout 
     android:id="@+id/sdBottomContent" 
     android:layout_width="match_parent" 
     android:layout_height="60dp" 
     android:orientation="vertical" 
     android:scrollbars="vertical" > 

     <LinearLayout 
      android:id="@+id/llBottomNavigation" 
      android:layout_width="match_parent" 
      android:layout_height="60dp" 
      android:orientation="horizontal" 
      android:scrollbars="horizontal" > 
     </LinearLayout> 
    </LinearLayout> 
</SlidingDrawer> 

그리고 이것은 내 자바 코드 :

LinearLayout llBottomNavigation = (LinearLayout) mButtonsView 
      .findViewById(R.id.llBottomNavigation); 
for (int i = 0; i < navigationList.size(); i++) { 
     TextView tvTab = new TextView(this); 
     tvTab.setText(Content.getTitle(navigationList.get(i))); 
     tvTab.setId(i); 
        tvTab.setTextColor(getResources().getColor(android.R.color.black)); 
     tvTab.setTextSize(12); 
     if (Hardware.getScreenSize(this) > 4) { 
      tvTab.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, 
        LayoutParams.WRAP_CONTENT)); 
     } else { 
      tvTab.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, 
        LayoutParams.WRAP_CONTENT)); 
     }   tvTab.setSingleLine(true); 
     tvTab.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 

      } 
     }); 
     llBottomNavigation.addView(tvTab); 
     llBottomNavigation.invalidate(); 
    } 

는 그것은 SlidingDrawer에 대한 TextViews를 추가 아니에요. 내 코드에 실수가 있습니까? 이 시도 ... 전망의 LayoutParams을 통과 갈까요 addView 동안 unflagged.destination @

답변

0

, ...

SlidingDrawer slidingDrawer = (SlidingDrawer) findViewById(R.id.slidingDrawer); 
LinearLayout llBottomNavigation = (LinearLayout) slidingDrawer.findViewById(R.id.llBottomNavigation); 
for (int i = 0; i < 10; i++) { 
    System.out.println("in loop, " + i); 
    TextView tvTab = new TextView(this); 
    tvTab.setText("item "+i); 
    tvTab.setId(i); 
    tvTab.setTextColor(getResources().getColor(android.R.color.black)); 
    tvTab.setTextSize(12); 
    /*   if (Hardware.getScreenSize(this) > 4) { 
     tvTab.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 
    } else { 
     tvTab.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 
    }   tvTab.setSingleLine(true);*/ 

    tvTab.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 

     } 
    }); 

    LinearLayout.LayoutParams paramsFortvTab = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); 
    llBottomNavigation.addView(tvTab, paramsFortvTab); 
    //llBottomNavigation.invalidate(); 
} 

어떤 쿼리, PLZ 묻는다면 ...

관련 문제