0

アクティビティを開始すると、関連するレイアウトが表示されますが、それ以降はonCreate()で動的に作成する ウィジェットは表示されません。動的に作成されたウィジェットは表示されません

なぜでしょうか?

Eclipseはデバッグパースペクティブにはドロップされませんが、単に表示されません。

はここに関連するコードです:

public class Authorize_Activity_DynamicControls extends Activity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.ondemandandautomatic_dynamicauthorize); 

     LinearLayout llay = new LinearLayout(this); 
     llay.setOrientation(LinearLayout.HORIZONTAL); 

     LinearLayout.LayoutParams llp = new LayoutParams(LayoutParams.WRAP_CONTENT,  
LayoutParams.WRAP_CONTENT); 
     llp.weight = 1.0f; 

     CheckBox cb = new CheckBox(getApplicationContext()); 
     cb.setText("1"); 
     cb.setLayoutParams(llp); 
     llay.addView(cb); 

     ScrollView svh = (ScrollView) findViewById(R.id.scrollViewHost); 
     svh.addView(llay); 
    } 

...と、ここでレイアウトのxmlです:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="horizontal" >  

     <TextView 
      android:id="@+id/textView1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_margin="2dip" 
      android:text="@string/demand" 
      android:textAppearance="?android:attr/textAppearanceSmall" /> 

     <TextView 
      android:id="@+id/textView2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_margin="2dip" 
      android:text="@string/time" 
      android:textAppearance="?android:attr/textAppearanceSmall" /> 

     <TextView 
      android:id="@+id/textView3" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_margin="2dip" 
      android:text="@string/space" 
      android:textAppearance="?android:attr/textAppearanceSmall" /> 

     <TextView 
      android:id="@+id/textView4" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_margin="2dip" 
      android:text="@string/contact" 
      android:textAppearance="?android:attr/textAppearanceMedium" /> 

    <ScrollView 
     android:id="@+id/scrollViewHost" 
     android:fillViewport="true" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" > 

    </ScrollView> 

</LinearLayout> 

答えて

1

あなたが希望する結果を得るために、手動で全体のビューを無効にする必要がありますので、追加してみてくださいこの行の末尾まで:

svh.invalidate(); 
+0

invalidate()を追加しても効果がありませんでしたが、何も問題にはならないと思います。 –

+0

何か試してみることはできますか? xmlファイル内の子LinearLayoutセクションを削除して(ScrollViewがベースLinearLayoutの唯一の子になるように)、動的に追加したLinearLayoutと一緒にScrollViewを見ることができるかどうかを確認できますか? – Soham

+0

OK、ありがとう、Soham、それが役立ちます - 動的に追加されたウィジェットが表示されるようになりました。しかし、動的に追加されたウィジェットは、XMLで宣言されたウィジェットと同じ「行」に表示されます。xmlで宣言されたウィジェットの下に、独自の「行」上にある必要があります。どのように強制するのですか? –

1

onCreate()で追加したビューを無効にする必要はありません。 XMLレイアウトファイルを持たないと、自信を持って投稿に答えようとすると、いくぶん推測されます。チェックボックスの代わりにTextViewを使ってみましたか?

+0

チェックボックスが必要です。 –

+0

オリジナルの投稿にレイアウトファイルを追加しました。それは表示されない動的に追加されたものです。 –

関連する問題