【发布时间】:2017-03-21 01:56:17
【问题描述】:
滚动视图中的按钮有问题,这是我的 xml,
<ScrollView
tools:context="com.francescovenica.remember.fragments.AddAlarmFragment"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:text="Salva"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:layout_marginBottom="20dp"
android:id="@+id/saveAlarm"/>
</LinearLayout>
</ScrollView>
我在这里实例化按钮(我正在使用片段)
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_add_alarm, container, false);
btn_saveAlarm = (Button)view.findViewById(R.id.saveAlarm);
System.out.println("saveAlarm: " + btn_saveAlarm);
return view;
}
这是我的听众
btn_saveAlarm.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
System.out.println("click");
}
});
点击没有触发,错误在哪里?
编辑-----
我找到了问题,但我不明白...
我在activityCreated中调用setUpView
公共无效 setUpView(){
btn_saveAlarm.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
saveAlarm();
}
});
alarm_date = Calendar.getInstance();
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
datePicker.init(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), new DatePicker.OnDateChangedListener() {
@Override
public void onDateChanged(DatePicker datePicker, int year, int month, int dayOfMonth) {
alarm_date.set(Calendar.YEAR,year);
alarm_date.set(Calendar.MONTH,(month+1));
alarm_date.set(Calendar.DAY_OF_MONTH,dayOfMonth);
setTimePickerDialog();
}
});
}
我不知道为什么,但使用 alarm_date = Calendar.getInstance();按钮不工作,如果我评论它按钮工作正常....为什么 Calendar.getInstance 打破一切?
【问题讨论】:
-
btn_saveAlarm.setOnClickListener你怎么称呼这个? -
onActivityCreated 内
-
按钮的点击监听器应该放在
return view之前; -
onActivityCreated 在 onCreateView 之后,所以监听器是正确的!
-
您是否对同一个按钮有任何其他引用(例如,在活动中,使用相同的 id。)?
标签: android button scrollview listener