我希望当该项目的图像被按下时启动库zxing提供的QR代码阅读器。从一个ListView项目的图像抛出的QR代码读取器
我测试了两个选项。 第一个选项是我的自定义适配器尝试启动意图。
第二个选项一直跟在这个论坛的第一个主题上,我在主类中得到了一种我自定义的适配器,并且我创建了两种方法。
最后一个选项让我语法错误,但如果你运行: android.content.ActivityNotFoundException:无活动处理意向{行动= com.google.zxing.client.android.SCAN(有演员)}在android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1659)
其实,这是我的代码:
public class Inventario extends Activity implements OnItemClickListener {
private ArrayList<Obra> obras;
private ListView lvObras;
private ObrasAdapter adapter;
private TextView num, iden,ubi,hombres,material;
private int pulsado = -1;
Toast toast1 ;
private int operacion = -1;
List<String> equiDisp;
ArrayList<String> marcado;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.inventario);
equiDisp = new ArrayList<String>();
marcado = new ArrayList<String>();
for(int i=1; i<11; i++)
{
equiDisp.add(String.valueOf(i));
}
// Inicializamos las variables.
obras = new ArrayList<Obra>();
rellenarArrayList();
actualizarDisplay();
}
...
public void abrirLector(){
Intent intent = new Intent("com.google.zxing.client.android.SCAN");
intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
startActivityForResult(intent, 0);
}
public void actualizarDisplay()
{
adapter = new ObrasAdapter(this, obras);
lvObras = (ListView) findViewById(R.id.lvItems);
lvObras.setAdapter(adapter);
lvObras.setOnItemClickListener(this);
}
public class ObrasAdapter extends ArrayAdapter<Obra> {
public Context context;
private ArrayList<Obra> datos;
public void DisplayProjectListAdapter(Context c) {
context = c;
}
public ObrasAdapter(Context context, ArrayList<Obra> datos) {
super(context, R.layout.listview_item, datos);
this.context = context;
this.datos = datos;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View item = convertView;
ObrasHolder holder;
if (item == null) {
item = LayoutInflater.from(context).inflate(R.layout.listview_item,
null);
holder = new ObrasHolder();
holder.qr = (ImageView) item.findViewById(R.id.qr);
item.setTag(holder);
}
holder = (ObrasHolder) item.getTag();
holder.qr.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
holder.qr.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
abrirLector();
}
});
}
});
return item;
}
谁能帮助我吗?谢谢
此错误对您说的是,在任何应用程序中没有与您的意图匹配的意图过滤器的活动。这是您尝试用startActivity打开意向时出现的错误,但任何人都可以对其进行响应。 – droidpl
我有此在manifiest.xml'<活动 机器人:名称= 机器人 “Inventario。”:标签= “@串/ title_activity_inventario”> <意图滤波器> \t <操作机器人:名称=“COM。 google.zxing.cliet.android.SCAN “/> \t \t <动机器人:名称=” android.intent.category.DEFAULT“/>) \t意图滤波器> ' – wiki
在这种情况下,由于这项活动属于你,你为什么不使用明确的意图?尝试'新的意图(上下文,Inventario.class);'而不是调用自定义操作。 – droidpl