チームスプリント-KeepRunningAPPの6日目

まとめ:今日、目覚まし時計の追加は完了しましたが、プロセスはまだスムーズですが、結局、長押しで目覚ましイベントを削除するのに問題があり、長押しで削除できませんでした。目覚まし時計リストでスイッチスイッチコントロールを使用しているので、それは何かに関係しているので、スイッチコントロールを取り出してテストしました。案の定、長押しによる削除に気付きました。具体的な理由はまだ不明です。明日解決し、インターフェイスを美化してから、アラームトリガーイベントを学習します。

パッケージcom.example.naozhong; 

import android.app.TimePickerDialog;
import android.content.Intent;
android.os.Bundleをインポートします。
android.util.Logをインポートします。
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.TimePicker;
import android.widget.Toast; 

import androidx.appcompat.app.AppCompatActivity; 

import java.util.Calendar; 

パブリック クラス AddAlarm  AppCompatActivityを拡張しますView.OnClickListener {
     private TextView hour;を実装します。
    プライベートTextView分1;
    プライベートボタンsetTime;
    プライベートEditTextコンテンツ。
    プライベートボタンの保存。
    プライベートカレンダーカレンダー。
    プライベートAlarmOperator alarmOperator;
    プライベートAlarmAdapter alarmAdapter; 
    文字列hourformat; 
    文字列の分フォーマット。

    @Override 
    protected  void onCreate(Bundle savedInstanceState){
         super .onCreate(savedInstanceState); 
        setContentView(R.layout.addalarm);
        alarmOperator = new AlarmOperator(this ); 
        時間 = findViewById(R.id.hour); 
        minute1 = findViewById(R.id.minute); 
        setTime = findViewById(R.id.set_time); 
        setTime.setOnClickListener(this ); 
        content = findViewById(R.id.content); 
        保存 = findViewById(R.id.save); 
        save.setOnClickListener(this ); 
    } 

    @Override 
    public  void onClick(View v){
         スイッチ(v.getId()){
             ケース R.id.set_time:
                addtime(); 
                休憩;
            ケースR.id.save:addalarm 
                (); 
                休憩; 

        } 
    } 

    private  void addalarm(){ 
        String userhour = hour.getText()。toString()。trim(); 
        文字列userminute = minute1.getText()。toString()。trim(); 
        文字列usercontent = content.getText ()。toString()。trim(); 
        アラームBean = new Alarm( "2"、userhour、userminute、usercontent、0 ); 
        Log.d( "volley" 、bean.hour);
        alarmOperator.insert(bean); 
        テントintent2 = 新しいテント(これ、AlarmActivity。クラス); 
        startActivity(intent2); 

    } 

    private  void addtime(){ 
        calendar = Calendar.getInstance();
        int mhour = calendar.get(Calendar.HOUR_OF_DAY);
        int mminute = calendar.get(Calendar.MINUTE);
        新しい TimePickerDialog(AddAlarm。この新しいTimePickerDialog.OnTimeSetListener(){ 
            @Override 
            公共 のボイドonTimeSet(TimePicker view、int hourOfDay、int minute){ 

                calendar.set(Calendar.HOUR_OF_DAY、hourOfDay); 
                calendar.set(Calendar.MINUTE、minute); 
                カレンダーcurrentTime = Calendar.getInstance();
                if(calendar.getTimeInMillis()<= currentTime.getTimeInMillis()){ 
                    calendar.setTimeInMillis(calendar.getTimeInMillis() + 24 * 60 * 60 * 1000 ); 
                } 
                hourformat = String.format(String.valueOf(hourOfDay)); 
                minuteformat =String.format(String.valueOf(minute)); 
                Toast.makeText(AddAlarm。この、 "" + hourformat + ":" + minuteformat、Toast.LENGTH_SHORT).SHOW(); 
                hour.setText(hourformat); 
                minute1.setText(minuteformat); 

            } 
        }、mhour、mminute、true ).show(); 
    } 
}
AddAlarm
 protected  void onCreate(Bundle savedInstanceState){
         super .onCreate(savedInstanceState); 
        setContentView(R.layout.alarm); 
        addalarm = findViewById(R.id.addalarm); 
        list = new ArrayList <> (); 
        文字列username = "2" ; 
        alarmOperator = new AlarmOperator(this ); 
        ListView alarmList = (ListView)findViewById(R.id.clock_list); 
        alarmList.setOnItemLongClickListener(新しいAdapterView.OnItemLongClickListener(){ 
            @Override
            public  boolean onItemLongClick(AdapterView <?> parent、View view、final  int position、long id){ 
                AlertDialog.Builder builder = new AlertDialog.Builder(view.getContext()); 
                builder.setMessage( "确定删除?" ); 
                builder.setTitle( " 提示 " );
                final Alarm [] alarms = { null }; 
                builder.setPositiveButton( "确定"、DialogInterface.OnClickListener(){ 
                    @Override 
                    公共 のボイドonClick(DialogInterface dialog、int which){ 
                        alarms [ 0] = list.get(position); 
                        alarmOperator.deletebyuser( "1"、alarms [0] .hour、alarms [0 ] .minute); 
                        list.remove(position); 
                        alarmAdapter.notifyDataSetChanged(); 
                    } 
                }); 
                builder.setNegativeButton( "取消"、DialogInterface.OnClickListener(){ 
                    @Override 
                    公共 のボイドのonClick(DialogInterfaceダイアログ、int型){ 

                    }
                }); 
                builder.create()。show(); 
                falseを返し ます
            } 
        }); 
        init(ユーザー名); 
        alarmAdapter = new AlarmAdapter(this 、list); 
        alarmList.setAdapter(alarmAdapter); 
        addalarm.setOnClickListener(l); 
    }
警報

 

おすすめ

転載: www.cnblogs.com/MoooJL/p/12741005.html