Android的碎片的onClick按钮的方法 [英] Android Fragment onClick button Method
本文介绍了Android的碎片的onClick按钮的方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想援引我的onClick(视图v)XML的方法,但不与片段工作。这是误差
12月1日至17日:38:36.840:E / AndroidRuntime(4171):java.lang.IllegalStateException:
找不到在活动课main.MainActivity的方法insertIntoDb(查看)
为onclick处理程序的视图类android.widget.Button ID为'btn_conferma
公共无效insertIntoDb(视图v){
...
}
<按钮
机器人:ID =@ ID / btn_conferma
风格=机器人:ATTR / borderlessButtonStyle
机器人:layout_width =0.0dip
机器人:layout_height =45dp
机器人:layout_marginLeft =2DP
机器人:layout_weight =1.0
机器人:背景=@可绘制/ bottoni
机器人:重力=center_horizontal | center_vertical
机器人:的onClick =insertIntoDb
机器人:文本=SALVA
机器人:文字颜色=#FFFFFF
机器人:TEXTSIZE =16SP/>
解决方案
您的活动必须有
公共无效insertIntoDb(视图v){
...
}
不分段。
如果您不希望上述活动。在片段初始化按钮,设置监听器是一样的。
<按钮
机器人:ID =@ + ID / btn_conferma// +失踪
然后
@覆盖
公共查看onCreateView(LayoutInflater充气,容器的ViewGroup,
捆绑savedInstanceState){
查看查看= inflater.inflate(R.layout.fragment_rssitem_detail,
集装箱,假);
Button按钮=(按钮)view.findViewById(R.id.btn_conferma):
button.setOnClickListener(新OnClickListener()
{
@覆盖
公共无效的onClick(视图v)
{
// 做一点事
}
});
返回查看;
}
I'm trying to invoke the method in my onClick (View v) XML, but does not work with Fragment. This is the error.
01-17 12:38:36.840: E/AndroidRuntime(4171): java.lang.IllegalStateException:
Could not find a method insertIntoDb(View) in the activity class main.MainActivity
for onClick handler on view class android.widget.Button with id 'btn_conferma'
public void insertIntoDb(View v) {
...
}
<Button
android:id="@id/btn_conferma"
style="?android:attr/borderlessButtonStyle"
android:layout_width="0.0dip"
android:layout_height="45dp"
android:layout_marginLeft="2dp"
android:layout_weight="1.0"
android:background="@drawable/bottoni"
android:gravity="center_horizontal|center_vertical"
android:onClick="insertIntoDb"
android:text="SALVA"
android:textColor="#ffffff"
android:textSize="16sp" />
解决方案
Your activity must have
public void insertIntoDb(View v) {
...
}
not Fragment .
If you don't want the above in activity. initialize button in fragment and set listener to the same.
<Button
android:id="@+id/btn_conferma" // + missing
Then
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_rssitem_detail,
container, false);
Button button = (Button) view.findViewById(R.id.btn_conferma):
button.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
// do something
}
});
return view;
}
这篇关于Android的碎片的onClick按钮的方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文