片段中按钮上的 onClickListener 什么都不做
onClickListener on button in fragment does nothing
我有一个片段,其中有一个按钮并添加了一个按钮侦听器,这没有给出任何错误,但是当我单击按钮时似乎没有调用 onClick。我已经尝试在 onActivityCreated 函数中添加按钮侦听器,但这仍然不起作用。
谢谢
package com.aaronnebbs.table_booker.Fragments;
import android.content.Context;
import android.os.Bundle;
import android.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import com.aaronnebbs.table_booker.Objects.Session;
import com.aaronnebbs.table_booker.R;
public class userInformation extends Fragment {
private Session session;
public userInformation() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_user_information, container, false);
Button viewBookings = (Button) view.findViewById(R.id.bookingsFragmentButton);
viewBookings.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
System.out.println("Button Clicked");
}
});
Bundle bundle = getArguments();
if(bundle != null){
session = (Session)bundle.getSerializable("session");
System.out.println("IN FRAGMENT: " + session.getUser().getUsername());
}else{
System.out.println("NO BUNDLE");
}
return view;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
// TextView text = (TextView) getView().findViewById(R.id.usernameFragment);
// text.setText("Username: " + session.getUser().getUsername());
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
}
}
确保你的 fragment_user_information
必须有 Button with bookingsFragmentButton
id & 你没有分配 onClick xml like android:onClick="myMethod"
& Put toast 而不是 Log 作为可见效果。
编辑 1:
extends Fragment implements View.OnClickListener {
// onCreateView
viewBookings.setOnClickListener(this);
@Override
public void onClick(View v) {
switch (v.getId())
{
case R.id.bookingsFragmentButton:
break;
}
}
}
希望这是有意义的。
我有一个片段,其中有一个按钮并添加了一个按钮侦听器,这没有给出任何错误,但是当我单击按钮时似乎没有调用 onClick。我已经尝试在 onActivityCreated 函数中添加按钮侦听器,但这仍然不起作用。 谢谢
package com.aaronnebbs.table_booker.Fragments;
import android.content.Context;
import android.os.Bundle;
import android.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import com.aaronnebbs.table_booker.Objects.Session;
import com.aaronnebbs.table_booker.R;
public class userInformation extends Fragment {
private Session session;
public userInformation() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_user_information, container, false);
Button viewBookings = (Button) view.findViewById(R.id.bookingsFragmentButton);
viewBookings.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
System.out.println("Button Clicked");
}
});
Bundle bundle = getArguments();
if(bundle != null){
session = (Session)bundle.getSerializable("session");
System.out.println("IN FRAGMENT: " + session.getUser().getUsername());
}else{
System.out.println("NO BUNDLE");
}
return view;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
// TextView text = (TextView) getView().findViewById(R.id.usernameFragment);
// text.setText("Username: " + session.getUser().getUsername());
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
}
}
确保你的 fragment_user_information
必须有 Button with bookingsFragmentButton
id & 你没有分配 onClick xml like android:onClick="myMethod"
& Put toast 而不是 Log 作为可见效果。
编辑 1:
extends Fragment implements View.OnClickListener {
// onCreateView
viewBookings.setOnClickListener(this);
@Override public void onClick(View v) {
switch (v.getId())
{
case R.id.bookingsFragmentButton:
break;
}
}
}
希望这是有意义的。