Android按钮点击Fragment no works

时间:2017-11-01 05:16:33

标签: android android-layout android-studio android-fragments onclicklistener

当我尝试单击某个按钮时无效,该应用程序仍保持活动,但没有任何东西它是一个片段。 请帮忙!

我的代码在这里:

myfragment.xml

<TableRow> 
    <Button
        android:id="@+id/hello"/>
</TableRow>
public class MyFragment extends Fragment  implements View.OnClickListener {
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.myfragment, container, false);
    if (mListener != null) {
        mListener.onFragmentInteraction("Tittle");
    }
    android.widget.Button b = view.findViewById(R.id.hello);
    b.setOnClickListener(this);
    return view;
}

@Override
public void onClick(View view) {
    switch (view.getId()) {
        case R.id.hello:
            android.util.Log.i("mylog", "Pressed");
            Toast.makeText(this.getActivity(), "Hello", Toast.LENGTH_LONG).show();
            break;
    }
}

2 个答案:

答案 0 :(得分:1)

解决方案:

import android.widget.Button;

并改变:

android.widget.Button b = view.findViewById(R.id.hello);

为:

Button b = view.findViewById(R.id.hello);

答案 1 :(得分:0)

您可以向 TableRow 添加setOnClickListener功能。

<TableRow
android:id="@+id/_tableROW"> 
    <Button
        android:id="@+id/hello"/>
</TableRow>

示例

TableRow _tableROWOBJ = (TableRow) view.findViewById(R.id._tableROW);
_tableROWOBJ.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        // Your CODE
    } 
}); 

修改

使用按钮代替 android.widget.Button