在Android中显示表的问题,请帮忙

时间:2010-10-26 12:35:42

标签: android onclick tablelayout

HI,

我想在android中创建一个表,应该包含很多行。每行有4列,如果我点击任何视图,我想为视图集成onClick事件。 我已经开发了类似于要求的东西,但没有得到点击视图,这是我的代码:

LinearLayout lLayout1 = null;     LinearLayout main_lLayout = null;     LinearLayout lLayout2 = null;     TextView myText [] =新TextView [12];

LinearLayout myLayout[] = new LinearLayout[12];
@Override
public void onCreate(Bundle icici) {
    super.onCreate(icici);

    main_lLayout = new LinearLayout(this);

    main_lLayout.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
                                           LayoutParams.WRAP_CONTENT));
    main_lLayout.setOrientation(LinearLayout.VERTICAL);
    int k = 0;
    for(int i=0;i<4;i++) {
        myLayout[i] = new LinearLayout(this);

        for(int j=0;j<4;j++) {
            myText[j] = new TextView(this);
            myText[j].setText("asdf"+i+j);
            myText[j].setPadding(0, 0, 20, 10);
            myText[j].setClickable(true);
            myText[j].setId(k);
            myText[j].setOnClickListener(this);
            k++;
            System.out.println(k);
            myLayout[i].addView(myText[j]);

        }       
        main_lLayout.addView(myLayout[i]);

    }       
    setContentView(main_lLayout);
}

@Override
public void onClick(View v) {

    System.out.println(myText[0].getText());
    System.out.println(myText[10].getText());

}

1 个答案:

答案 0 :(得分:0)

你有一些糟糕的数组管理...你实例化了16个TextViews,但只将它们分配给myText的前4个元素。如果你修复了这个问题,我发现点击处理程序按预期调用。