繁体   English   中英

在Android中创建动态表

[英]creating dynamic table in android

我试图从字符串的二维数组创建表。 但是,我很想在代码中创建视图,因此由于某种原因,我的图像永远不可见,并且我的textview不会分成多行,而会切碎文本。

另外,我在代码中的每个textview上都添加了id,当有人单击textview时,我希望可以使用该ID来识别单击了打点的行。 不幸的是事实并非如此。

有什么好的方法可以识别正确的行?

问候

      for (int current=0; current<cityArr.length; current++) {

      TableRow tr = new TableRow(this);
      tr.setId(100+current);
      tr.setLayoutParams(new LayoutParams(
              LayoutParams.FILL_PARENT,
              LayoutParams.WRAP_CONTENT));   

      TextView labelTV = new TextView(this);
      labelTV.setId(current);
      labelTV.setText(cityArr[current][0]);
      labelTV.setTextColor(Color.BLACK);
      labelTV.setLayoutParams(new LayoutParams(
              LayoutParams.FILL_PARENT,
              LayoutParams.WRAP_CONTENT));
      tr.addView(labelTV);

      ImageView mapView = new ImageView(this);
      mapView.setImageResource(R.drawable.list_icon_map);
      mapView.setLayoutParams(new FrameLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT, 5));
      tr.addView(mapView);

      tlcity.addView(tr, new TableLayout.LayoutParams(
              LayoutParams.FILL_PARENT,
              LayoutParams.WRAP_CONTENT));
  }
public class MainActivity extends Activity  {
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        ScrollView sv = new ScrollView(this);

        TableLayout ll=new TableLayout(this);
        HorizontalScrollView hsv = new HorizontalScrollView(this);

        for(int i=1;i<30;i++) {
            TableRow tbrow=new TableRow(this);

            for(int j=1;j<=20;j++) {
                TextView tv1=new TextView(this);
                String s1 = Integer.toString(i);
                String s2 = Integer.toString(j);
                String s3 = s1+s2;
                int id = Integer.parseInt(s3);
                tv1.setId(id);

                tv1.setText("Dynamic TextView  no:     "+id);
                tbrow.addView(tv1);
            }
            ll.addView(tbrow);
        }
        hsv.addView(ll);
        sv.addView(hsv);
        setContentView(sv);
    }
}

哈,原来可以使用setID()函数正常工作。 只要我将OnClickListener放在正确的组件上...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM