如何将上下文应用于textview数组?
for (int cell = 0; cell < 3; cell++){
TextView textView = new TextView(context);
textView.setText("-");
}
显然,这个错误会被抛出:
java.lang.NullPointerException:尝试在空对象引用上调用虚方法'void android.widget.TextView.setText(java.lang.CharSequence)'
如果这不是textview 数组,则在调用构造函数时将活动 context 添加为参数会使对象不为null,解决我的问题:
context = getActivity().getApplicationContext()
其中,{{1}}
如何为textview数组设置上下文参数?我想要的是每个textview的动态变量名称,所以我可以分别调用各个textview。
答案 0 :(得分:2)
您应该在调用方法之前创建对象。 试试这个:
TextView[] textView = new TextView[3];
for (int cell = 0; cell < 3; cell++) {
textView[cell] = new TextView(context);
textView[cell].setText("-");
}
答案 1 :(得分:0)
我希望下面的代码可以帮助您解决有关数组视图的上下文问题。首先,您将只创建数组,但是在使用它之前,您必须使用new关键字创建对象。
LinearLayout rootview = (LinearLayout) findViewById(R.id.rootview);
ArrayList<String> words= new ArrayList<>();
words.add("One"); words.add("two"); words.add("three"); words.add("four"); words.add("five"); words.add("six"); words.add("seven"); words.add("eight"); words.add("nine"); words.add("ten");
int index=0;
while(index<words.size()){
TextView [] textViews = new TextView[words.size()];
textViews[index] = new TextView(this);
textViews[index].setText(words.get(index));
rootview.addView(textViews[index]);
index++;
}