RecyclerView アイテム内ある要素の クリックイベント

いろんな実装が可能なのですが.


public class ItemsAdapter extends RecyclerView.Adapter<ItemsAdapter.ViewHolder> {

  // ...

  private static ItemsAdapter.OnItemClickListener listener;

  public void setOnItemClickListener(ItemsAdapter.OnItemClickListener listener) {
    ItemsAdapter.listener = listener;
  }

  public interface OnItemClickListener {
    void onItemClick(View view, int position);
  }

  // ...

  public static class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {

    public ViewHolder(final View itemView) {
      super(itemView);

      name = (TextView) itemView.findViewById(R.id.name);
      age = (TextView) itemView.findViewById(R.id.age);
      button = (Button) itemView.findViewById(R.id.button);

      name.setOnClickListener(this);
      age.setOnClickListener(this);
      button.setOnClickListener(this)
    }

    @Override
    public void onClick(View v) {
      if (listener != null) {
        listener.onItemClick(v, getLayoutPosition());
      }
    }

  }
}

UI.


public class MainFragment extends Fragment
    implements ItemsAdapter.OnItemClickListener {

  // ...

  @Override
  public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
   
    // ...
    mAdapter.setOnItemClickListener(this);
  }

  @Override
  public void onItemClick(View view, int position) {
    switch (view.getId()) {
      case R.id.name:
        // ...
        break;  
        // ...
  }

    // ...
}

ここらなんだろうな.

java - Why doesn't RecyclerView have onItemClickListener()? And how RecyclerView is different from Listview? - Stack Overflow


Android で nmap

外からでなく端末内からみる.

anmap_-_Android_Network_Mapper__network_scanner_original_nmap_for_android__-_Google_Project_Hosting

anmap - Google Project Hosting

端末内にて.

$ tar xvf nmap-5.51-1.tar
tar: invalid tar magic

ん?

$ md5 nmap-5.51-1.tar
ed692f7ea2e217ca71ae1103f5bf3819  nmap-5.51-1.tar
$ ls -al $(which tar)
lrwxr-xr-x root     shell             2015-10-07 13:51 tar -> busybox
$ busybox
BusyBox v1.22.1 bionic (2015-10-06 21:51 -0700) multi-call binary.
…

新しいものに変える.

20151114-080451

BusyBox - Google Play の Android アプリ

$ busybox
BusyBox v1.24.1-Stericson (2015-11-06 19:11:24 EST) multi-call binary.
…

$ tar xvf nmap-5.51-1.tar
nmap
nmap-os-db
nmap-payloads
nmap-protocols
nmap-rpc
nmap-service-probes
nmap-services
$ ./nmap
/system/bin/sh: ./nmap: can't execute: Permission denied
$ su
# chmod +x nmap
Bad mode
# chmod 777 nmap
# ./nmap
sh: ./nmap: can't execute: Permission denied

ん?

# ls -al nmap                                                
-rw-rw---- root     sdcard_r  1907224 2015-11-14 07:45 nmap
# cp nmap* /data/local/tmp
# cd /data/local/tmp
# ls
nmap
nmap-5.51-1.tar
nmap-os-db
nmap-payloads
nmap-protocols
nmap-rpc
nmap-service-probes
nmap-services

# chmod 777 nmap
# ls -al nmap 
-rwxrwxrwx root     root      1907224 2015-11-14 07:48 nmap
# ./nmap 127.0.0.1

Starting Nmap 5.51 ( http://nmap.org ) at 2015-11-13 22:53 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00011s latency).
All 1000 scanned ports on localhost (127.0.0.1) are closed

Nmap done: 1 IP address (1 host up) scanned in 0.64 seconds

ネットワークADB向けをあける.

20151114-075706

# ./nmap 127.0.0.1

Starting Nmap 5.51 ( http://nmap.org ) at 2015-11-13 22:56 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00012s latency).
Not shown: 999 closed ports
PORT     STATE SERVICE
5555/tcp open  freeciv

Nmap done: 1 IP address (1 host up) scanned in 0.57 seconds

【急げ!!】Chromecast ユーザーにまたもや 無料クーポン配布中!!

現在配布中です.

日本では, 映画1本とNetflixの1ヶ月無料が特典のようです.

Chromecast Offers

Chromecast

Chromecast 2

あれ, テレビをONにして再度.

Chromecast 3

映画_を1_本プレゼント_-_Google_Play_の映画

パソコンのブラウザChromeからでないと無理なのかも.

いつもありがとうございます.