Example #1
0
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.ezydine);

    // [FTDriver] setPermissionIntent() before begin()
    mSerial = new FTDriver((UsbManager) getSystemService(Context.USB_SERVICE));

    // [FTDriver] setPermissionIntent() before begin()
    PendingIntent permissionIntent =
        PendingIntent.getBroadcast(this, 0, new Intent(ACTION_USB_PERMISSION), 0);
    mSerial.setPermissionIntent(permissionIntent);

    if (mSerial.begin(SERIAL_BAUDRATE)) {
      //   mainloop();
    }

    // リソースに準備した画像ファイルからBitmapを作成しておく
    image_amber = BitmapFactory.decodeResource(getResources(), R.drawable.amber_32);
    image_black = BitmapFactory.decodeResource(getResources(), R.drawable.black_32);
    image_green = BitmapFactory.decodeResource(getResources(), R.drawable.green_32);
    image_red = BitmapFactory.decodeResource(getResources(), R.drawable.red_32);
    image_white = BitmapFactory.decodeResource(getResources(), R.drawable.white_32);
    image_blue = BitmapFactory.decodeResource(getResources(), R.drawable.blue_32);
    image_gray = BitmapFactory.decodeResource(getResources(), R.drawable.gray_32);

    // データの作成
    List<CustomData> objects = new ArrayList<CustomData>();

    item1 = new CustomData();
    item2 = new CustomData();
    item3 = new CustomData();
    item4 = new CustomData();
    item5 = new CustomData();
    item6 = new CustomData();
    item7 = new CustomData();
    item8 = new CustomData();
    item9 = new CustomData();
    item10 = new CustomData();

    initView();
    objects.add(item1);
    objects.add(item2);
    objects.add(item3);
    objects.add(item4);
    objects.add(item5);
    objects.add(item6);
    objects.add(item7);
    objects.add(item8);
    objects.add(item9);
    objects.add(item10);

    item1.setImagaData(image_green);
    item9.setImagaData(image_blue);
    item1.setTextColor(true);
    item10.setImagaData(image_red);

    CustomAdapter customAdapater = new CustomAdapter(this, 0, objects);

    ListView listView = (ListView) findViewById(R.id.list);
    listView.setAdapter(customAdapater);

    // リスト項目がクリックされた時の処理
    listView.setOnItemClickListener(
        new AdapterView.OnItemClickListener() {
          @Override
          public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            ListView listView = (ListView) parent;
            Log.d(TAG, "onItemClick: " + position);
            //                String item = (String) listView.getItemAtPosition(position);
            //                Toast.makeText(getApplicationContext(), item + " clicked",
            //                        Toast.LENGTH_LONG).show();
          }
        });

    listView.setOnItemSelectedListener(
        new AdapterView.OnItemSelectedListener() {
          // リスト項目が選択された時の処理
          @Override
          public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            ListView listView = (ListView) parent;
            Log.d(TAG, "onItemSelected: " + position);
            //                String item = (String) listView.getItemAtPosition(position);
            //                Toast.makeText(getApplicationContext(), item + " selected",
            //                        Toast.LENGTH_LONG).show();
          }

          // リスト項目がなにも選択されていない時の処理
          @Override
          public void onNothingSelected(AdapterView<?> parent) {
            Log.d(TAG, "onNothingSelected");
            //                Toast.makeText(getApplicationContext(), "no item selected",
            //                        Toast.LENGTH_LONG).show();
          }
        });

    // リスト項目が長押しされた時の処理
    listView.setOnItemLongClickListener(
        new AdapterView.OnItemLongClickListener() {
          @Override
          public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
            ListView listView = (ListView) parent;
            Log.d(TAG, "onItemLongClick: " + position);
            //                String item = (String) listView.getItemAtPosition(position);
            //                Toast.makeText(getApplicationContext(), item + " long clicked",
            //                        Toast.LENGTH_LONG).show();
            return false;
          }
        });
    mHandler =
        new Handler() {
          // メッセージ受信
          public void handleMessage(Message message) {
            // メッセージの表示
            textView = (TextView) findViewById(R.id.textView);
            textView.setText((String) message.obj);
            Log.d(TAG, "mag: " + (String) message.obj);
            // メッセージの種類に応じてswitch文で制御すれば
            // イベント制御に利用できます
          };
        };
  }