我试图在一个片段上的许多按钮上设置相同的OnClickListener。
因此,我试图将监听器置于诸如此类的类之上
19/01/21 08:51:35 ERROR org.apache.spark.sql.catalyst.expressions.codegen.CodeGenerator 91: failed to compile: org.codehaus.commons.compiler.CompileException: File 'generated.java', Line 277, Column 36: Unknown variable or type "agg_value25"
/* 001 */ public Object generate(Object[] references) {
/* 002 */ return new GeneratedIterator(references);
/* 003 */ }
/* 004 */
/* 005 */ final class GeneratedIterator extends org.apache.spark.sql.execution.BufferedRowIterator {
/* 006 */ private Object[] references;
/* 007 */ private scala.collection.Iterator[] inputs;
/* 008 */ private boolean agg_initAgg;
/* 009 */ private org.apache.spark.sql.execution.aggregate.HashAggregateExec agg_plan;
/* 010 */ private org.apache.spark.sql.execution.UnsafeFixedWidthAggregationMap agg_hashMap;
/* 011 */ private org.apache.spark.sql.execution.UnsafeKVExternalSorter agg_sorter;
/* 012 */ private org.apache.spark.unsafe.KVIterator agg_mapIter;
...
/* 277 */ bhj_rowWriter3.write(0, agg_value25);
但是,我要保存按钮的文本。 (button.getText())。
但是在...部分,
因为thisListener没有巫婆按钮,所以它只能获取视图,
我无法调用getText()。 v.getText()不存在。
例如,我在...部分中尝试了以下代码,
android:hardwareAccelerated="true"
在第一行中,因为thisListener可以,所以无法调用Button.getText()
没有按钮信息。
有没有没有实现每个监听器的10〜20个按钮的方法?
答案 0 :(得分:1)
您可以这样定义一个侦听器对象:
View.OnClickListener thisListener = new View.OnClickListener() {
public void onClick(View v) {
Button button = (Button) v;
switch (v.getId()) {
case R.id.button1:
preferenceEditor.putString("User Insurance", button.getText());
preferenceEditor.commit();
activity.fragChanger(4);
break;
case R.id.button2:
//
break;
//...............
}
}
}
并将此侦听器设置为所有按钮:
button1.setOnClickListener(thisListener);
button2.setOnClickListener(thisListener);
..........................................