2011-04-04 64 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上設置。

相關問題