2012-10-24 68 views
0
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    Intent intent = getIntent(); 
    String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE); 

    int N = 10; 
    TextView[] myTextViews = new TextView[N]; 
    LinearLayout myLinearLayout = (LinearLayout) findViewById(R.id.test); 
    for (int i = 0; i < N; i++) { 
     TextView rowTextView = new TextView(this); 
     rowTextView.setText(message); 

     myLinearLayout.addView(rowTextView); 
     myTextViews[i] = rowTextView; } 

上述代码中的错误是什么? “不幸的是,该应用程序已停止”显示错误。Android中的线性布局

+0

你能展示更多的错误吗?也许复制粘贴整个痕迹? – daniel

+0

发布您的logcat错误.. –

+1

可能是任何东西,并可能与您的代码在这里无关。发布你的堆栈跟踪 – njzk2

回答

3

您不在任何地方拨打setContentView()。尝试使用:

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.id.<yourlayout>); 
    //Your code 

除非已经膨胀,否则您不能在布局中引用视图。调用findViewById()查找当前布局中的视图。由于您没有设置布局,因此您将获得myLinearLayout的空值。

2

如果您显示10个简单的文本项目,一个在另一个之上,您可能想要考虑一个ListView。 Eclipse插件将为您生成一个示例应用程序,其中包含从静态数组填充的ListView。只要选择New > Other... > Android > Android Application Project > [name app] > [create icon (optional)] > MasterDetailFlow