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