Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何使用一个函数获取按钮内部的值文本_Android_Onclick - Fatal编程技术网

Android 如何使用一个函数获取按钮内部的值文本

Android 如何使用一个函数获取按钮内部的值文本,android,onclick,Android,Onclick,我有许多看起来像键盘的按钮。包含差异文本的内部示例:0123456789abcdefghijkl。。。 我想要的是如何实现单击其中一个按钮,通过使用一个函数FilterBusiness Keyboard在按钮内部获取值文本 <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"

我有许多看起来像键盘的按钮。包含差异文本的内部示例:0123456789abcdefghijkl。。。 我想要的是如何实现单击其中一个按钮,通过使用一个函数FilterBusiness Keyboard在按钮内部获取值文本

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    >
        <Button
              android:layout_width="match_parent"
              android:layout_height="@dimen/button_height"
              android:layout_margin="1dp"
              android:layout_weight="1"
              android:text="0"
              android:background="@drawable/btn_key"
              android:onClick="FilterBusinessKeyboard"
              />
       <Button
              android:layout_width="match_parent"
              android:layout_height="@dimen/button_height"
              android:layout_margin="1dp"
              android:layout_weight="1"
              android:text="1"
              android:background="@drawable/btn_key"
              android:onClick="FilterBusinessKeyboard"
              />
.......
</LinearLayout>

.......
使用以下方法:

public void FilterBusinessKeyboard(View view){
    ((Button) view).getText();
}
编辑 如果扩展片段而不是活动,则必须选择以下方式之一:

1-在活动中声明另一个click函数,然后向片段发送调用

public void FilterBusinessKeyboard(View view){
    fragment.FilterBusinessKeyboard(view);
}
2-对片段内的按钮使用
setOnClickListener
,使用以下方法:

public void FilterBusinessKeyboard(View view){
    ((Button) view).getText();
}
编辑 如果扩展片段而不是活动,则必须选择以下方式之一:

1-在活动中声明另一个click函数,然后向片段发送调用

public void FilterBusinessKeyboard(View view){
    fragment.FilterBusinessKeyboard(view);
}

2-对片段内的按钮使用
setOnClickListener
,在xml中为每个按钮设置ID,并使用开关在按钮视图上使用
getText().toString()
API获取按钮文本:

public void getTextFromButton(View view){
    switch(view.getId())
    {
        case R.id.button1:
            //get text

            break;
        case R.id.button2:
            //get text

            break;
        case R.id.button3:
            //get text
            break;
            .
            .
            .
        case R.id.buttonN:
            //get text
            break;
    }
}

在xml中为每个按钮设置ID,并使用开关在按钮视图上使用
getText().toString()
API获取按钮文本:

public void getTextFromButton(View view){
    switch(view.getId())
    {
        case R.id.button1:
            //get text

            break;
        case R.id.button2:
            //get text

            break;
        case R.id.button3:
            //get text
            break;
            .
            .
            .
        case R.id.buttonN:
            //get text
            break;
    }
}

您可以定义一个函数,并在其中调用视图。初始化函数并获取之前全局定义的按钮,并在onCreate方法中初始化

    public class ButtonActivity extends AppCompatActivity {
    Button button;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_button_activity);

    }
    public void FilterBusinessKeyboard(View view){


        Toast.makeText(this, ((Button) view).getText().toString(), Toast.LENGTH_SHORT).show();
    }
}

您可以定义一个函数,并在其中调用视图。初始化函数并获取之前全局定义的按钮,并在onCreate方法中初始化

    public class ButtonActivity extends AppCompatActivity {
    Button button;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_button_activity);

    }
    public void FilterBusinessKeyboard(View view){


        Toast.makeText(this, ((Button) view).getText().toString(), Toast.LENGTH_SHORT).show();
    }
}

java.lang.IllegalStateException:在父或祖先上下文中找不到方法FilterBusinessKeyboard(视图)我使用扩展片段java.lang.IllegalStateException:在父或祖先上下文中找不到方法FilterBusinessKeyboard(视图)我使用扩展片段