2011-06-30 19 views
1

私はボタンの配列を持っています。今、各ボタンをクリックすると、ボタンのテキストをtextBoxに表示します。私はそれを試みたが、それは動作していない。ここに私のコードは次のとおりです。ボタンのテキストを取得する方法

public boolean initDay() 
    { 
     LinearLayout layoutVertical = (LinearLayout) findViewById(R.id.liVLayout); 
     LinearLayout rowLayout=null; 

     LayoutParams param = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT,1); 

     for (i = 0; i<6; i++) 
     { 
      rowLayout = new LinearLayout(this); 
      rowLayout.setWeightSum(7); 
      layoutVertical.addView(rowLayout,param); 
      for(j=0;j<7;j++) 
      { 
       pBtnDay[i][j]=new Button(this); 
       rowLayout.addView(pBtnDay[i][j],param); 
       pBtnDay[i][j].setClickable(true); 
       pBtnDay[i][j].setOnClickListener(this); 
      } 
     } 
     return true; 
    } 
    public void onClick(View v) 
    { 
     TextView t = (TextView)findViewById(R.id.textV); 
     t.setText(pBtnDay[i][j].getText()); 
    } 

答えて

2

あなたはt.setText(pBtnDay[i][j].getText());t.setText(v.getText());に変数ijを変更する必要がありonClickメソッド内で表示されていないと、彼らはそこに両方とも0に等しいです。

+0

私はそれを使用しているが、それはエラーを示し..「法のgetText()タイプのビューの定義されていません」ボタンに表示をキャストしてみ – AndroidDev

+0

: ボタンB =(ボタン)、V。 b.getText(); – Egor

0
public boolean initDay() 
    { 
     LinearLayout layoutVertical = (LinearLayout) findViewById(R.id.liVLayout); 
     LinearLayout rowLayout=null; 

     LayoutParams param = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT,1); 

     for (i = 0; i<6; i++) 
     { 
      rowLayout = new LinearLayout(this); 
      rowLayout.setWeightSum(7); 
      layoutVertical.addView(rowLayout,param); 
      for(j=0;j<7;j++) 
      { 
       pBtnDay[i][j]=new Button(this); 
       rowLayout.addView(pBtnDay[i][j],param); 
       pBtnDay[i][j].setClickable(true); 
       pBtnDay[i][j].setOnClickListener({ 
       public void onClick(View v){ 
TextView t = (TextView)findViewById(R.id.textV); 
     t.setText(view.getText()); 

}); 
      } 
     } 
     return true; 
    } 
0
public boolean initDay() 
    { 
     LinearLayout layoutVertical = (LinearLayout) findViewById(R.id.liVLayout); 
     LinearLayout rowLayout=null; 
     Button pBtnDay; 
     LayoutParams param = new 
      TextView t = (TextView)findViewById(R.id.textV); 
LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT,1); 
    for (i = 0; i<6; i++) 
    { 
     rowLayout = new LinearLayout(this); 
     rowLayout.setWeightSum(7); 
     layoutVertical.addView(rowLayout,param); 
     for(j=0;j<7;j++) 
     { 
      pBtnDay=new Button(this); 
      rowLayout.addView(pBtnDay,param); 
      pBtnDay.setClickable(true); 

     } 
    } 
    return true; 
} 

pBtnDay.setOnClickListener(new OnClickListener(){ 

public void onClick(View v) 
{ 

    t.setText(v.getText()); 
} 
}); 
関連する問題