Tabhostから派生したアクティビティでタブコンテンツをスクロールできない

Android Developersサイトのタブレイアウトの例を作成しました。タブレイアウト a>をAndroid 2.2に追加しました。この例は宣伝されているように動作しますが、私が1つのアクティビティに配置したテキストビューではスクロールできません。 TextViewオブジェクトは、指定されたアクティビティで動的に作成されました。私はScrollViewでmain.xmlのコンポーネントの異なる部分をラップしようとしましたが、ビルドエラーまたは起動時に強制終了を取得します。添付されているのはtextViewsを実装しているコードで、xmlとmain.xmlファイルです。私は新しいので画像を投稿できません。どんな提案も大歓迎です。

Main.xml:

<?xml version="1.0" encoding="utf-8"?>
   
     

              
                     
     <!--         android:padding="5dp" --> 
    

私のTextViewをタブに作成するソース:

public class Activity2 extends Activity{    
    public void onCreate(Bundle savedInstanceState){        
        super.onCreate(savedInstanceState); 

        DisplayTexts(20);
    }

    private void DisplayTexts(int length){
        if(length == 0)
            return;

    LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT);

    LinearLayout layout = new LinearLayout(this); 
    layout.setOrientation(LinearLayout.VERTICAL);         
    for(int i = 0; i < length; i++) 
    {
        TextView tv = new TextView(getApplicationContext());
        registerForContextMenu(tv);
        tv.setTextSize(30);
        tv.setText("TextView " + String.valueOf(i));
        tv.setLayoutParams(params);
        layout.addView(tv);
        tv.setId(i);
    }
    LinearLayout.LayoutParams layoutParam = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
    this.addContentView(layout, layoutParam);
}

上記の活動のためのxmlファイル:

<?xml version="1.0" encoding="utf-8"?>


1

2 答え

あなたの活動にこのXMLを試しましたか?

activity2.xml:

<?xml version="1.0" encoding="utf-8" ?>

        
        

そして、Activity2.classのコンポーネントを次のように追加してみてください:

setContentView(R.layout.activity2);
...
LinearLayout layout = (LinearLayout)findViewById(R.id.layout1);
for(int i = 0; i < length; i++) 
{
        TextView tv = new TextView(getApplicationContext());
        registerForContextMenu(tv);
        tv.setTextSize(30);
        tv.setText("TextView " + String.valueOf(i));
        tv.setLayoutParams(params);
        tv.setId(i);
        layout.addView(tv);        
}
...
1
追加された
喜んで助けてください。答えの左上にある緑色の「正しい」マークをチェックすることで、それがあなたを助けたら答えを受け入れるべきです。あなたの受け入れ率を改善するのに役立ちます。
追加された 著者 Hiral,
提案された変更を加え、私は今スクロールすることができます。あなたの助けをありがとう!
追加された 著者 lshan47,

addContentViewではなく、SetContentViewを使用してレイアウトに対してcanScrollVertically(int方向)を設定してみてください。

listViewは、あなたが達成しようとしているものの代わりになる可能性があります。

0
追加された