2014-02-25 68 views
-2

如何获取on-click()类中的按钮上的文本设置? 我需要得到平方L处SELECT语句以编程方式设置并获取android按钮文本

tableLayout.addView(tableRow); 
    int a = 0; 
    for (Integer j = 0; j < count; j++) 
    { 
     Button b = new Button(getApplicationContext()); 
     b.setText(c.getString(c.getColumnIndex("jour"))); 
     b.setId(a++); 

     tableRow.addView(b); 
     b.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 

       Integer fff = v.getId(); 
       Toast.makeText(getApplicationContext(), fff.toString(), Toast.LENGTH_SHORT).show(); 


       Log.d("TAG", "The index is"); 
      } 
     }); 
     c.moveToNext() ; 


enter code here 

回答

1

您要添加的按钮表行tableRow.addView(b);按钮上的文字。我首先看看没有看到它的代码。错过了。

因此,使它最终

final Button b = new Button(getApplicationContext()); 
// Use ActivtiyContext 
final Button b = new Button(ActivityName.this); 
// posted a link at the end read it. 

匿名类不能在未声明为final或者有效最终其封闭范围访问本地变量。

http://docs.oracle.com/javase/tutorial/java/javaOO/anonymousclasses.html#accessing

里面的onClick

public void onClick(View v) { 

     String value = b.getText().toString() 
     } 

还要检查

When to call activity context OR application context?

+0

它就像现在的魅力:) – keshav

0
  • 首先你给像(buttonClick)按钮onclick事件。

    final Button testButton = new Button(getApplicationContext()); 
    
    void buttonClick(View v){ 
    Log.v("text", testButton.getText().toString()); // get the text 
    testButton.setText("sometext"); //to change the text 
    } 
    
+0

http://docs.oracle.com/javase/tutorial/java/javaOO/anonymousclasses.html#accessing – Raghunandan

+0

@Raghunandan的感谢! – 2014-02-25 06:00:26

+0

'Final'不是'final' – Raghunandan

0

试试这个代码:

public void onClick(View v) { 

    String value = (Button)v.getText().toString() 
    } 
1

按我的方式来创建String Array和:

String Title = new String[count]; 

而现在实行这样的:

for (int j = 0; j < count; j++) 
{ 
    Button b = new Button(getApplicationContext()); 
    b.setText(c.getString(c.getColumnIndex("jour"))); 
    b.setId(j); 

    Title[a] = c.getString(c.getColumnIndex("jour"); 

    b.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v1) { 

      Toast.makeText(getApplicationContext(), "Button click on(): "+Title[v1.getId()].toString(), Toast.LENGTH_SHORT).show(); 

      Log.d("TAG", "The index is: "+v1.getId()); 
     } 
    }); 
    tableRow.addView(b); 
    c.moveToNext() ; 
    } 
1

您可以键入种姓按钮的视图并将其用于getText()。

tableLayout.addView(tableRow); 
int a = 0; 
for (Integer j = 0; j < count; j++) 
{ 
    Button b = new Button(getApplicationContext()); 
    b.setText(c.getString(c.getColumnIndex("jour"))); 
    b.setId(a++); 

    tableRow.addView(b); 
    b.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 

      Integer fff = v.getId(); 
      Toast.makeText(getApplicationContext(), fff.toString(),     
      Toast.LENGTH_SHORT).show(); 

      Button b = (Button)v; 
      String buttonText = b.getText().toString(); 
      Log.d("TAG", "The text is " + buttonText); 
     } 
    }); 
    c.moveToNext() ; 
相关问题