-2

そのため、デバッグとコメントアウトから、このプログラムの問題は addTextView() メソッドにあるという結論に達しました。問題がどこでうまくいかないのか、私にはまったくわかりません。私の推測は、TextView に追加しようとしているレイアウトにあります。ご協力いただきありがとうございます。

public class Books extends Activity{
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.books);
        addTextView("Hello World");
    }


    public void addTextView(String text)
    {
        ScrollView viewport = (ScrollView)findViewById(R.id.books);
        TextView textview= (TextView)new TextView(this);
        textview.setText(text);
        //textview.setLayoutParams(new ScrollView.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
        viewport.addView(textview, new ScrollView.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
    }

    public void addButton(String text)
    {
        ScrollView scrollview = (ScrollView)findViewById(R.id.books);
        Button btnTag = (Button)new Button(Books.this);
        btnTag.setLayoutParams(new ScrollView.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
        btnTag.setText(text);
        scrollview.addView(btnTag);
    }

}
4

1 に答える 1

7

ScrollViews は 1 つの子 (通常は LinearLayout) のみを持つことができます。呼び出すscrollview.addView(blah blah)と、許可されていない ScrollView にさらに子を追加しています。

ScrollView に関するドキュメントについては、こちらを参照してください。

--

ちなみに、発生したエラーについて StackOverflow に質問を投稿する際は、次のように記載してください。

  • 発生したエラー(Android では、これは LogCat ビューで見つかります)
  • 期待される結果 (何をしようとしていたか)
  • 関連するコード (この場合、レイアウト XML ファイルも含める必要があります。ScrollView エラーは確実に発生するエラーの 1ですが、先に進むために修正が必要な最初のエラーではない可能性があります)。

この質問に出くわした将来の人々を含め、すべての人に役立ちます。

于 2012-12-17T23:03:31.260 に答える