ListView中のToggleButtonイベント取得

517 views
Skip to first unread message

m.yagi

unread,
May 20, 2014, 3:25:11 AM5/20/14
to android-g...@googlegroups.com
初めて投稿です。よろしくお願いします。

ListViewの中に配置したToggleButtonで、機能のON/OFFの制御を行おうとしてしていますが、ListViewのクリックイベントの取り方はわかるのですが、ToggleButtonのクリックイベントの取り方がわかりません。
わかる方、教えていただけないでしょうか。よろしくお願いします。
※ソースコードは長いので一部抜粋して書いています。

----------------------------------------------------------------------------------------------------------------------------------------------------------
・ MainActivity.java
----------------------------------------------------------------------------------------------------------------------------------------------------------
ListView lv = (ListView) findViewById(R.id.lv);
File f = getFilesDir(); // ローカルファイル参照
List<String> strs = new ArrayList<String>();
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.row, R.id.title, strs);
File[] filelist = f.listFiles();
for(i=0; i<filelist.length; i++) strs.add(filelist[i].getName());
if(i==0) Toast.makeText(getApplicationContext(), "ファイルがありません", Toast.LENGTH_LONG).show();
lv.setAdapter(adapter); // ファイル一覧表示
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        // リストが選択された時の処理
    }
});

// Toggleボタンが押された時の処理・・・?

------------------------------------------------------------------------------------------------------------------------------------------------------------
・ ListButton.java
----------------------------------------------------------------------------------------------------------------------------------------------------------
public class ListButton extends ToggleButton {
    public ListButton(Context context) {
        super(context);
    }
    public ListButton(Context context, AttributeSet attrs) {
        super(context, attrs);
    }
    public ListButton(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
    }
    @Override
    public void setPressed(boolean pressed) {
        if (pressed && getParent() instanceof View && ((View) getParent()).isPressed()) {
            return;
        }
        super.setPressed(pressed);
    }
}

------------------------------------------------------------------------------------------------------------------------------------------------------------
・ row.xml
----------------------------------------------------------------------------------------------------------------------------------------------------------
android:descendantFocusability="blocksDescendants"  // LinearLayoutに追加済

<TextView
        android:id="@+id/title"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:gravity="center" />

<com.example.MultiAlarm.ListButton
        android:id="@+id/tb"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="0" />
--------------------------------------------------------------------------------------------------------------------------------------------------------


杉田敏典

unread,
May 20, 2014, 8:49:14 AM5/20/14
to 日本Androidの会ML

杉田です。

ちょっとは自分で調べてから質問しましょう。

android listview button イベント

とかでググればいくらでも答えは出てきます
--
杉田 敏典 : SUGITA, Toshinori
sugi...@gmail.com

2014/05/20 16:28 "m.yagi" <qqqd...@gmail.com>:
--
このメールは Google グループのグループ「日本Androidの会」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには android-group-j...@googlegroups.com にメールを送信してください。
このグループに投稿するには android-g...@googlegroups.com にメールを送信してください。
http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。

android.makilette

unread,
May 20, 2014, 9:44:42 AM5/20/14
to android-g...@googlegroups.com

クリッカブル

2014/05/20 21:49 "杉田敏典" <sugi...@gmail.com>:

m.yagi

unread,
May 21, 2014, 12:20:11 AM5/21/14
to android-g...@googlegroups.com
いろいろ試してみましたがうまくいきませんでした・・・。
理解不足ですみません。

2014年5月20日火曜日 21時49分14秒 UTC+9 杉田 敏典:
このグループから退会し、グループからのメールの配信を停止するには android-group-japan+unsub...@googlegroups.com にメールを送信してください。

星影

unread,
May 21, 2014, 12:39:25 AM5/21/14
to android-g...@googlegroups.com
星影です。

ToggleButtonは使ったことがないのでわかりませんが、adapterを継承したクラスのgetView内でイベント取得ができるのではないでしょうか?

カスタムアダプターの実装についてはこちら。

getView内の実装についてはこのあたりが参考になるかと思います。

※stackoverflowの方は「ListView togglebutton」でググってみました。



2014年5月21日 13:20 m.yagi <qqqd...@gmail.com>:
このグループから退会し、グループからのメールの配信を停止するには android-group-j...@googlegroups.com にメールを送信してください。

マキレット

unread,
May 21, 2014, 12:41:49 AM5/21/14
to android-g...@googlegroups.com
マキです。

>※stackoverflowの方は「ListView togglebutton」でググってみました。

「ListView checkBox」をキーに検索した方が出るんじゃないでしょうか?
そっちの方が、試してる人多そうだし


(2014/05/21 13:39), 星影 wrote:
星影です。

ToggleButtonは使ったことがないのでわかりませんが、adapterを継承したクラスのgetView内でイベン ト取得ができるのではないでしょうか?

カスタムアダプターの実装についてはこちら。

getView内の実装についてはこのあたりが参考になるかと思います。

※stackoverflowの方は「ListView togglebutton」でググってみました。

2014年5月21日 13:20 m.yagi <qqqd...@gmail.com>:
いろいろ試してみましたがうまくいきませんでした・・・。
理解不足ですみません。

2014年5月20日火曜日 21時49分14秒 UTC+9 杉田 敏典:

杉田です。

ちょっとは自分で調べてから質問しましょう。

android listview button イベント

とかでググればいくらでも答えは出てきます
--
杉田 敏典 : SUGITA, Toshinori
sugi...@gmail.com
2014/05/20 16:28 "m.yagi" <qqqd...@gmail.com>:
初めて投稿です。よろしくお願いします。

ListViewの中に配置したToggleButtonで、機能のON/OFFの 制御を行おうとしてしていますが、ListViewのクリックイベントの取り方はわかるの ですが、ToggleButtonのクリックイベントの取り方がわかりません。
このグループから退会し、グループからのメールの配信を停止するには android-group-j...@googlegroups.com にメールを送信してください。
このグループに投稿するには android-g...@googlegroups.com にメールを送信してください。

http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。
--
このメールは Google グループのグループ「日本Androidの会」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには android-group-j...@googlegroups.com にメールを送信してください。
このグループに投稿するには android-g...@googlegroups.com にメールを送信してください。
http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。
--
このメールは Google グループのグループ「日本Androidの会」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには android-group-j...@googlegroups.com にメールを送信してください。
このグループに投稿するには android-g...@googlegroups.com にメールを送信してください。
http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。


-- 
-- 
.                 \\\///
.               /        \
.               | \\   // |
.             ( | (.) (.) |)
----------o00o--(_)--o00o-----------------

Mail: android....@gmail.com

-----------ooo0-------------------------------
.           (   )   0ooo
.            \ (      (   )
.             \_)     ) /
.                    (_/
-- 

Kazuyuki Eguchi

unread,
May 21, 2014, 12:45:47 AM5/21/14
to android-g...@googlegroups.com
マキさん

江口です。

懲りない人ですね。
回答者の意見に対して、余計な口出しをするなって!

回答者を減らすつもり!?
自分の意見に対して、言われていい気持ちになるんですか?

もうちょっと人の気持を考えましょう!

以上、ご参考までに

--
Kazuyuki Eguchi


2014年5月21日 13:41 マキレット <android....@gmail.com>:
Reply all
Reply to author
Forward
0 new messages