Android如何获取按钮的名称而非id

如这句:Button B1 = (Button) findViewById(R.id.btn); 在点击事件中如何获取按钮的名字
“B1",而不是id:"btn”?

得到id以后根据id再取名称
int intialResID = getResources().getIdentifier(initialCbID, "id", context.getApplicationContext().getPackageName());

android获取Button文本 从一个按钮开关中获取文本

在程序里可以从一个按钮中获取文本
String buttonText = button.getText();
也可以从按钮开关中获取id
int buttinID = view.getId();
但是如何从按钮开关中获取文本呢?这俩个怎么结合呢?
在onClick()中传递的视图就是你要找的button,需要强制转换一下。
public void onClick(View view) {
// 从按钮开关中获取文本
Button b = (Button)v;
String buttonText = b.getText().toString();
}


可以这样:
B1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {

        }
    });
            而如果这样就只能用id了:
            @Override
public void onClick(View view) {
   switch (view.getId()){
       case R.id.add_saoma:
           Intent i = new Intent(AddActivity.this, CaptureActivity.class);
           startActivityForResult(i, REQUEST_QR_CODE);
           break;
       case R.id.add_back:
           finish();
           break;
       case R.id.add_cancel:
           finish();
           break;
   }
}

增加下面的代码,用的时候:
View v = findViewByName("控件名");


public View getViewByName(String name) {
        return findViewById(getRootView(this), name);
    }

        private static View getRootView(Activity context) {
        return ((ViewGroup) context.findViewById(android.R.id.content)).getChildAt(0);
    }

    protected View findViewByName(ViewGroup viewGroup,String name) {
        for (int i = 0; i < viewGroup.getChildCount(); i++) {
            View inner = viewGroup.getChildAt(i);
            if (( inner instance of Button) && ((Button)inner).getText.toString().equals(name)) {
                return inner;
            } else if (inner instanceof ViewGroup) {
                if (((ViewGroup) inner).getChildCount() == 0)
                    continue;
                View returnView = findViewById((ViewGroup) inner, id);
                if (returnView == null)
                    continue;
                return returnView;
            }
        }
        return null;
    }

单击事件要继承onClick()方法,该方法中有view,使用,view.getId()获取当前单击view的ID