如何获得相同的背景drawable与不同的按钮android

时间:2014-09-26 07:30:12

标签: android xml background drawable android-togglebutton

您好我在同一个可绘制的xml中使用equate id background有问题。

我有这样的2切换按钮的视图

<ToggleButton
    android:id="@+id/gambar1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/g1"
    android:text=""
    android:textOn=""
    android:textOff="" />

<ToggleButton
    android:id="@+id/toggleButton1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/g1"
    android:text=""
    android:textOn=""
    android:textOff="" />

使用相同的android:background,我如何获得相同的id源码到我的代码?

我有这样的主要活动

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.gamescene);

    this.tg = (ToggleButton) findViewById(R.id.gambar1);
    this.tg1 = (ToggleButton) findViewById(R.id.toggleButton1);

    tg.setOnClickListener(this);
    tg1.setOnClickListener(this);

}

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub

    if(v == tg){
        Toast.makeText(this, "On " + v.getBackground().getConstantState(), Toast.LENGTH_SHORT).show();
    } else if(v == tg1){
        Toast.makeText(this, "On " + v.getBackground().getConstantState(), Toast.LENGTH_SHORT).show();

    }

}
像这样的

和drawable xml

<selector xmlns:android="http://schemas.android.com/apk/res/android" >


<item android:state_checked="true" 
    android:state_enabled="true"
    android:drawable="@drawable/bell"/>

<item android:state_checked="false" 
    android:state_enabled="true"
    android:drawable="@drawable/hint"/>

<item android:state_checked="false" 
    android:state_enabled="false"
    android:drawable="@drawable/blank"/>

但是,我从同一背景获得了不同的州名单。我怎样才能在我的Activity中捕获相同的资源名称条目“g1”?

抱歉我的英文不好

感谢

1 个答案:

答案 0 :(得分:1)

您可以使用此

获取它 。

getResources()getDrawable(R.drawable.g1);