2011-04-04 44 views
2

我写了这样的事情....如何在动态生成的表格中获取文本视图的文本?

TableRow tr1; 
    TableRow tr2; 
    TextView txt9; 
    ... 
    TableLayout tl = (TableLayout)findViewById(R.id.myTableLayout); 
    Display display = getWindowManager().getDefaultDisplay(); 
    int width = display.getWidth(); 

    LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(width, LayoutParams.FILL_PARENT); 

    for (int i = 0; i < strarr.length-1; i++) 
    { 
    strinarr = fun1.split(strarr[i].trim(),"^"); 
    tr1 = (TableRow) new TableRow(this); 
    txt1=new TextView(this); 
    txt9.setText(strinarr[0]); 
    txt9.setBackgroundColor(intblue); 
    txt9.setTextColor(intwhite); 
    txt9.setClickable(true); 
    txt9.setOnClickListener(new View.OnClickListener() 
    { 
     public void onClick(View v) 
    { 
     Log.i("pagename",strpagename); 
     String currenttext = txt9.getText().toString()); 
    } 
    } 
    }); 
    tr1.addView(txt9); 
    tl.addView(tr1,new TableLayout.LayoutParams(layoutParams)); 
    } 

我能够获得点击的文本,但愚蠢的事情是,我对所有的TextView的单击事件让在表格最后的TextView的文本。 ..如果有人可以告诉我如何抓住textview文本的焦点或触摸它将是真正的帮助完整...

回答

12

变化String currenttext = txt9.getText().toString());String currenttext = ((TextView)v).getText().toString());

+0

你是酷男人thanx ...很多... – Sourabh 2011-04-04 11:02:51

+0

Thnx很多人。你救了我的一天:) – Dray 2013-02-28 06:30:17

0

你应该维护表中的ID列表和相应的文本列表。当用户点击具有给定ID的小部件时,只需查看文本列表中的文本并进行设置即可。

+0

我可以存储矢量中的所有信息......因为我需要一些用户选择的文本......如果您可以建议某些文本通过触摸或其他方式获得,那么这将非常有用...... – Sourabh 2011-04-04 10:47:19

0
ArrayList qty = new ArrayList(); 
for(int i = 1; i <= 10; i++) 
{ 
    qty.add(i); 
} 

for(int i = 0; i < 5; i++) 
{ 
    TableRow tr = new TableRow(this); 
    Spinner tvQtySpinner = new Spinner(this); 
    tvQtySpinner.setOnItemSelectedListener(this); 
    ArrayAdapter<String> aa = 
    new ArrayAdapter<String> this, android.R.layout.simple_spinner_item, qty); 
    aa.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    tvQtySpinner.setAdapter(aa); 
    tr.addView(tvQtySpinner); 

    TextView tvRate = new TextView(this); 
    tvRate.setText(value.getPrice().toString()); 
    tvRate.setTextColor(Color.YELLOW); 
    tr.addView(tvRate); 
} 

public void onItemSelected(AdapterView<?> parent, View view, int pos,long id) 
{  
    Integer value = (Integer) parent.getItemAtPosition(pos); 
    Float result = value*50; 
    tvRate.setText(String.valueOf(result)); 
} 

在这里,我有5行,每行有5个动态微调和文本视图。我从微调器中获取选定的值并进行计算,并试图在特定行TextView中设置计算结果。但是当我在TextView中设置计算值时,它将在最后一行TextView上设置。

相关问题