aboutsummaryrefslogtreecommitdiffstats
path: root/src/net/miz_hi/smileessence/listener/ExtractOnClickListener.java
blob: 691d9eb9882bdd25b6ba911d6ee35c0e6ec41628 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
package net.miz_hi.smileessence.listener;

import android.app.Activity;
import android.content.DialogInterface;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnLongClickListener;
import android.widget.EditText;
import net.miz_hi.smileessence.data.extra.ExtraWord;
import net.miz_hi.smileessence.data.extra.ExtraWordManager;
import net.miz_hi.smileessence.dialog.ConfirmDialog;
import net.miz_hi.smileessence.dialog.ContentDialog;
import net.miz_hi.smileessence.util.CustomListAdapter;
import net.miz_hi.smileessence.util.UiHandler;

public class ExtractOnClickListener implements OnClickListener, OnLongClickListener
{

    private CustomListAdapter<ExtraWord> adapter;
    private ExtraWord extraWord;
    private Activity activity;

    public ExtractOnClickListener(CustomListAdapter<ExtraWord> adapter, Activity activity, ExtraWord extraWord)
    {
        this.adapter = adapter;
        this.activity = activity;
        this.extraWord = extraWord;
    }

    @Override
    public void onClick(final View v)
    {
        final EditText editText = new EditText(activity);
        editText.setText(extraWord.getText());

        ContentDialog dialog = new ContentDialog(activity, "編集");
        dialog.setContentView(editText);
        dialog.setOnClickListener(new DialogInterface.OnClickListener()
        {

            @Override
            public void onClick(DialogInterface dialog, int which)
            {
                switch (which)
                {
                    case DialogInterface.BUTTON_NEGATIVE:
                    {
                        break;
                    }
                    case DialogInterface.BUTTON_POSITIVE:
                    {
                        String newText = editText.getText().toString();
                        extraWord.setText(newText);
                        ExtraWordManager.addExtractWord(extraWord);
                        adapter.clear();
                        adapter.addAll(ExtraWordManager.getExtraWords());
                        adapter.forceNotifyAdapter();
                        break;
                    }
                }
            }
        });
        dialog.create().show();
    }

    @Override
    public boolean onLongClick(final View v)
    {
        ConfirmDialog.show(activity, "削除してよろしいですか?", new Runnable()
        {

            @Override
            public void run()
            {
                new UiHandler()
                {

                    @Override
                    public void run()
                    {
                        ExtraWordManager.deleteExtraWord(extraWord);
                        adapter.clear();
                        adapter.addAll(ExtraWordManager.getExtraWords());
                        adapter.forceNotifyAdapter();
                    }
                }.post();
            }
        });
        return true;
    }

}