我似乎无法使我的onclicklistener开关盒工作。 这是一个代码
@Override
public View onCreateView(LayoutInflater inflater,
ViewGroup container,
Bundle savedInstanceState) {
final View rootView = inflater.inflate(R.layout.levelfirst, container, false);
ImageView homeb = (ImageView)rootView.findViewById(R.id.homeb);
TextView one = (TextView)rootView.findViewById(R.id.one);
TextView two = (TextView)rootView.findViewById(R.id.two);
rootView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(view.getId() == R.id.one){
Toast.makeText(getActivity(),"its working",Toast.LENGTH_SHORT).show();
}
}
});
在单个项目上设置onclicklistener工作正常,但由于某种原因它无法检测到它。我试过使用开关机箱方法,但它不会返回任何东西。但是,当我尝试记录rootview子项点击时,它会检测onclicklistener本身。
答案 0 :(得分:1)
如果您希望通过实施* {
margin: 10px auto;
font-size: 25px;
}
body {
background-color: #202020;
font-family: 'Days One', sans-serif;
}
#output {
background: #94AFB5;
width: 400px;
height: 70px;
font-size: 50px;
border-radius: 10px;
padding-right: 5px;
}
.calculator {
position: relative;
text-align: center;
width: 410px;
height: 520px;
padding: 2px;
background: #5591C3;
border-radius: 15px;
font-weight: bold;
margin-top: 5%;
margin-left: auto;
margin-right: auto;
}
button {
margin: 2px;
width: 85px;
height: 55px;
background-color: #084D87;
color: #D17900;
border-radius: 10px;
text-align: center;
cursor: pointer;
outline: none;
border: none;
box-shadow: 0 5px #053C6A;
padding: 5px;
vertical-align: top;
}
button:active {
background-color: #084D87;
box-shadow: 0 5px #053C6A;
transform: translateY(4px);
}
#zero {
width: 181px;
}
#ac, #ce {
background-color: #EC0000;
box-shadow: 0 5px #BC0000;
}
.last-row {
position: absolute;
bottom: 16px;
left: 31px;
}
#equals {
height: 125px;
font-size: 45px;
}
覆盖onClick,请使用您的开关案例,如下所示
OnClickListener
答案 1 :(得分:0)
您可以轻松实现View.OnClickListner并覆盖其方法并将您的开关置于其中。
例如:
public class Fragment_treasures extends Fragment implements OnClickListener{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_treasures, container, false);
Button b = (Button) v.findViewById(R.id.StartButton);
b.setOnClickListener(this);
return v;
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.StartButton:
...
break;
}
}
}