La méthode OnClickListner
Bonjour les amis,
Donc voila je suis sur un projet d'application androïde qui est un lecteur de QR code personnalisé et au cours de mon chemin j'ai trouver un problème concernant l'ajout d'un simple bouton d'action en utilisons la méthode OnClickListner
Fichier Manifest.xml
Code:
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
|
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.man.test4"
android:versionCode="1"
android:versionName="1.0">
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-feature android:name="android.hardware.camera" android:required="false"/>
<uses-sdk android:minSdkVersion="8" />
<application android:label="@string/app_name" android:icon="@drawable/ic_launcher">
<activity android:name="MainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.dm.zbar.android.scanner.ZBarScannerActivity"
android:screenOrientation="landscape"
android:label="@string/app_name" />
</application>
</manifest> |
Fichier main.xml
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:padding="5dp"
android:gravity="center"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button
android:id="@+id/scan_btn"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:onClick="launchScanner"
android:text="@string/scan" />
</LinearLayout> |
Fichier source
Code:
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
|
package com.man.test4;
import android.app.Activity;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Toast;
import com.dm.zbar.android.scanner.ZBarConstants;
import com.dm.zbar.android.scanner.ZBarScannerActivity;
import net.sourceforge.zbar.Symbol;
public class MainActivity extends Activity {
private static final int ZBAR_SCANNER_REQUEST = 0;
private static final int ZBAR_QR_SCANNER_REQUEST = 1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void launchScanner(View v) {
if (isCameraAvailable()) {
Intent intent = new Intent(this, ZBarScannerActivity.class);
startActivityForResult(intent, ZBAR_SCANNER_REQUEST);
} else {
Toast.makeText(this, "Rear Facing Camera Unavailable", Toast.LENGTH_SHORT).show();
}
}
// public void launchQRScanner(View v) {
// if (isCameraAvailable()) {
// Intent intent = new Intent(this, ZBarScannerActivity.class);
// intent.putExtra(ZBarConstants.SCAN_MODES, new int[]{Symbol.QRCODE});
// startActivityForResult(intent, ZBAR_SCANNER_REQUEST);
// } else {
// Toast.makeText(this, "Rear Facing Camera Unavailable", Toast.LENGTH_SHORT).show();
// }
// }
public boolean isCameraAvailable() {
PackageManager pm = getPackageManager();
return pm.hasSystemFeature(PackageManager.FEATURE_CAMERA);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
case ZBAR_SCANNER_REQUEST:
case ZBAR_QR_SCANNER_REQUEST:
if (resultCode == RESULT_OK) {
//Toast.makeText(this, "Scan Result = " + data.getStringExtra(ZBarConstants.SCAN_RESULT), Toast.LENGTH_SHORT).show();
Intent callIntent = new Intent(Intent.ACTION_CALL);
callIntent.setData(Uri.parse("tel:"+data.getStringExtra(ZBarConstants.SCAN_RESULT).toString()));
callIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(callIntent);
} else if(resultCode == RESULT_CANCELED && data != null) {
String error = data.getStringExtra(ZBarConstants.ERROR_INFO);
if(!TextUtils.isEmpty(error)) {
Toast.makeText(this, error, Toast.LENGTH_SHORT).show();
}
}
break;
}
}
} |
Donc mon but c'est de crée un bouton action nommé Options, qui renvoi a une autre activité, comment dois-je procéder a votre avis?
En gros mon application ressemble a ca
http://img15.hostingpics.net/thumbs/mini_301396541.png
Et mon but c'est cela
http://img15.hostingpics.net/thumbs/mini_656482882.png
Et quand on clique dessous ca nous donne ca
http://img15.hostingpics.net/thumbs/mini_756804673.png
Merci et bonne journée a tous