我有一个应用程序,它读取.txt文件并以表格布局显示内容。
这是我的MainActivity.java文件:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new TableLayout(this,0));
}
}
在添加第一行(标题)时,在TableLayout类中,我还添加了单击侦听器。
以下是点击发生时执行的代码:
public class MyOnClickListener extends MainActivity implements OnClickListener {
int rowNumber;
public MyOnClickListener(int rowNumber) {
this.rowNumber = rowNumber;
}
@Override
public void onClick(View v) {
setContentView(new TableLayout(context,rowNumber));
}
};
上下文是从第一次启动活动时保存的,但是我将此作为参数得到nullpointexception错误。 单击标题时我想要做的是重新创建带有标题号参数的表。 所以我的问题是如何在onClick方法中重新启动表创建?
编辑:这是保存上下文的方式
Context context;
public TableLayout(Context context, int rowNr) {
super(context);
this.context = context;
答案 0 :(得分:0)
我可能会做这样的事情
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new TableLayout(this, getRowNumber()));
}
protected int getRowNumber(){
return 0;
}
}
然后你做了类似
的事情public class MyOnClickListener extends MainActivity implements OnClickListener {
// here you initialize rowNumber
static int rowNumber = 0;
@Override
protected void getRowNumber(){
return rowNumber;
}
@Override
public void onClick(View v) {
// here you set your rowNumber
rowNumber = some_value;
recreate();
}
};
P.S:我还没有编译过这个,但你可以得到这个想法