2017-04-06 11 views
0
예를 들어 내가 XML에서 텍스트 뷰가 지금은 프로그램이 텍스트 뷰 아래 이미지 뷰를 추가 할 필요, 기존 뷰에 프로그램보기를 추가하는 방법

, 여기에 내가 뭘하려 기존의 텍스트 뷰 아래 이미지 뷰를 추가프로그래밍

 HorizontalScrollView scroll = new HorizontalScrollView(getApplicationContext()); 
    LinearLayout imageLayout = new LinearLayout(getApplicationContext()); 
    scroll.setLayoutParams(new ViewGroup.LayoutParams(imageLayout.getWidth(), 
      imageLayout.getHeight())); 
    scroll.addView(imageLayout); 

    for (int i = 0; i < 15; i++) { 

     final ImageView imageView = new ImageView(this); 
     imageView.setTag(i); 
     imageView.setImageResource(R.drawable.logo); 

     imageLayout.addView(imageView); 


     imageView.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       Log.e("Tag", "" + imageView.getTag()); 
      } 
     }); 
    }but its not adding any imageview, I'm trying to do this in **AlertDialog** 
+2

ierarchy? 스 니펫에서 HorizontalScrollView 스크롤을 생성하고이를 이미지 뷰에 추가 한 것을 볼 수 있습니다. – Praga

답변

-1
ImageView imageView = new ImageView(this.getActivity()); 
imageView.setId(View.generateViewId()); 
params.addRule(RelativeLayout.BELOW, imageView.getId()); 
+0

이 코드가 질문에 대답 할 수 있지만 _how_ 및/또는 _why_에 대한 추가 [컨텍스트] (https://meta.stackexchange.com/q/114762)를 제공하면 문제를 해결할 수있어 응답의 장기적인 가치가 향상됩니다. 지금 묻는 사람뿐만 아니라 앞으로 독자에게 질문에 답하고 있다는 것을 기억하십시오! 설명을 추가하여 답을 작성하고 제한 사항과 가정이 적용되는지를 알려주십시오 (http://stackoverflow.com/posts/43250693/edit). 또한 왜이 답변이 다른 사람들보다 더 적절한지 언급하지 않아도됩니다. –

0

ScrollView은 둘 이상의 자식을 가질 수 없습니다. LinearLayout 안에 레이아웃을 래핑 한 다음 해당 뷰에 원하는 수의 뷰를 추가 할 수 있습니다. LinearLayout. 건배 :

+0

정확하게 'HorizontalScrollView'에 하나 이상의'View'를 추가하고 있습니까? –

0

잘못하고 있습니다. 코드 스 니펫 아래에서 한 번 확인하십시오.

LinearLayout yourlayout = (LinearLayout)findViewById(R.id.layoutid);//Layout which is inside scrollview 

    LinearLayout imageLayout = new LinearLayout(getApplicationContext()); 

    RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
      LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 

    // add the rule that places your LinearLayout below your TextView object 
    params.addRule(RelativeLayout.BELOW, TextView.getId()); 

    // set the layoutParams on the LinearLayout 
    imageLayout.setLayoutParams(params); 


    yourlayout.addView(imageLayout); 

    for (int i = 0; i < 15; i++) { 

     final ImageView imageView = new ImageView(this); 
     imageView.setTag(i); 
     imageView.setImageResource(R.drawable.logo); 

     imageLayout.addView(imageView); 


     imageView.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       Log.e("Tag", "" + imageView.getTag()); 
      } 
     }); 
    } 
0

나는 XML에

<HorizontalScrollView 
android:id="@+id/horizontal_scroll" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" > 

    <LinearLayout 
    android:id="@+id/linear" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" > 
    </LinearLayout> 

</HorizontalScrollView> 

를 추가하여 해결

& MainActivity.java에서

LinearLayout layout = (LinearLayout) findViewById(R.id.linear); 
for (int i = 0; i < 10; i++) { 
    ImageView imageView = new ImageView(this); 
    imageView.setId(i); 
    imageView.setPadding(2, 2, 2, 2); 
    imageView.setImageBitmap(BitmapFactory.decodeResource(
      getResources(), R.drawable.ic_launcher)); 
    imageView.setScaleType(ScaleType.FIT_XY); 
    layout.addView(imageView); 
} 

기존보기 시간에 HorizontalScrollView를 추가 했