Java onclick方法不存在错误?
这是错误的描述 onClick处理程序名称中不应该有空格onClick属性值应该是该视图上下文中要在单击视图时调用的方法的名称。此名称必须对应于只接受一个View类型参数的公共方法。必须是字符串值,使用“\;”转义unicode字符的“\n”或“\uxxx”等字符Java onclick方法不存在错误?,java,android,Java,Android,这是错误的描述 onClick处理程序名称中不应该有空格onClick属性值应该是该视图上下文中要在单击视图时调用的方法的名称。此名称必须对应于只接受一个View类型参数的公共方法。必须是字符串值,使用“\;”转义unicode字符的“\n”或“\uxxx”等字符 btnClick = (Button) findViewById(R.id.button2); txtBox1 = (EditText) findViewById(editText9); txtBox2 = (EditText) fi
btnClick = (Button) findViewById(R.id.button2);
txtBox1 = (EditText) findViewById(editText9);
txtBox2 = (EditText) findViewById(editText10);
btnClick.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String input1 = txtBox1.getText().toString();
byte[] bytes = input1.getBytes();
final StringBuilder binary = new StringBuilder();
for (byte b : bytes) {
int val = b;
for (int i = 0; i < 8; i++) {
binary.append((val & 128) == 0 ? 0 : 1);
val <<= 1;
}
binary.append(' ');
txtBox2.setText(binary);
}
btnClick = (Button) findViewById(R.id.button3);
btnClick.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ClipboardManager clipboard = (ClipboardManager)
getSystemService(Context.CLIPBOARD_SERVICE);
String text = txtBox2.getText().toString();
ClipData clip = ClipData.newPlainText("text", text);
clipboard.setPrimaryClip(clip);
Toast.makeText(getApplicationContext(), "Text Copied",
Toast.LENGTH_SHORT).show();
}
});
txtBox2 = (EditText) findViewById(editText10);
txtBox1 = (EditText) findViewById(editText9);
btnClick = (Button) findViewById(R.id.button5);
btnClick.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
txtBox2.setText("");
txtBox1.setText("");
}
});
btnClick.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
txtBox2.setText("");
String s = new String(binary);
txtBox1.setText(s);
}
});
btnClick=(按钮)findviewbyd(R.id.button2);
txtBox1=(EditText)findViewById(editText9);
txtBox2=(EditText)findViewById(editText10);
btnClick.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
字符串input1=txtBox1.getText().toString();
byte[]bytes=input1.getBytes();
最终StringBuilder二进制文件=新StringBuilder();
for(字节b:字节){
int val=b;
对于(int i=0;i<8;i++){
binary.append((val&128)==0?0:1);
val您使用了相同的名称b单击不同的3按钮。这可能是问题所在。请使用不同的名称。您尚未关闭OnClickListener界面。
改变
btnClick.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
字符串input1=txtBox1.getText().toString();
byte[]bytes=input1.getBytes();
最终StringBuilder二进制文件=新StringBuilder();
for(字节b:字节){
int val=b;
对于(int i=0;i<8;i++){
binary.append((val&128)==0?0:1);
val只需对xml
中的不同按钮id
使用不同的按钮变量
,不要使用相同的按钮名称调用onClick
方法。
例如:
Button btnClick,btnClick1,btnClick2;
有关更多信息,请访问此您需要创建不同的按钮变量名称和ID
例如
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mContext = this;
mActivity = this;
btnClick1 = (Button) findViewById(R.id.button1);
btnClick2 = (Button) findViewById(R.id.button2);
btnClick3 = (Button) findViewById(R.id.button3);
btnClick4 = (Button) findViewById(R.id.button4);
txtBox1 = (EditText) findViewById(editText9);
txtBox2 = (EditText) findViewById(editText10);
btnClick1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String input1 = txtBox1.getText().toString();
byte[] bytes = input1.getBytes();
final StringBuilder binary = new StringBuilder();
for (byte b : bytes) {
int val = b;
for (int i = 0; i < 8; i++) {
binary.append((val & 128) == 0 ? 0 : 1);
val <<= 1;
}
binary.append(' ');
txtBox2.setText(binary);
}
}
});
btnClick2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ClipboardManager clipboard = (ClipboardManager)
getSystemService(Context.CLIPBOARD_SERVICE);
String text = txtBox2.getText().toString();
ClipData clip = ClipData.newPlainText("text", text);
clipboard.setPrimaryClip(clip);
Toast.makeText(getApplicationContext(), "Text Copied",
Toast.LENGTH_SHORT).show();
}
});
btnClick3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
txtBox2.setText("");
txtBox1.setText("");
}
});
btnClick4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
txtBox2.setText("");
String s = new String(binary);
txtBox1.setText(s);
}
});
}
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
mContext=这个;
mActivity=这个;
btnClick1=(按钮)findViewById(R.id.button1);
btnClick2=(按钮)findViewById(R.id.button2);
btnClick3=(按钮)findViewById(R.id.button3);
btnClick4=(按钮)findViewById(R.id.button4);
txtBox1=(EditText)findViewById(editText9);
txtBox2=(EditText)findViewById(editText10);
btnClick1.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
字符串input1=txtBox1.getText().toString();
byte[]bytes=input1.getBytes();
最终StringBuilder二进制文件=新StringBuilder();
for(字节b:字节){
int val=b;
对于(int i=0;i<8;i++){
binary.append((val&128)==0?0:1);
val向我们展示了完整的stacktrace。一件奇怪的事。最后,您在同一个按钮上调用了btnClick.setOnClickListener
两次。问题来自于您的一个布局XML文件,而不是Java代码。您在某个东西上有一个android:onClick
属性,您为它设置的值作为活动中的有效方法
。您好,我已尝试此方法,但相同的错误仍然存在…感谢您的帮助我已尝试此方法,但相同的错误仍然存在…感谢您的帮助我已完成此操作,但错误仍然存在感谢您的帮助
Button btnClick,btnClick1,btnClick2;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mContext = this;
mActivity = this;
btnClick1 = (Button) findViewById(R.id.button1);
btnClick2 = (Button) findViewById(R.id.button2);
btnClick3 = (Button) findViewById(R.id.button3);
btnClick4 = (Button) findViewById(R.id.button4);
txtBox1 = (EditText) findViewById(editText9);
txtBox2 = (EditText) findViewById(editText10);
btnClick1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String input1 = txtBox1.getText().toString();
byte[] bytes = input1.getBytes();
final StringBuilder binary = new StringBuilder();
for (byte b : bytes) {
int val = b;
for (int i = 0; i < 8; i++) {
binary.append((val & 128) == 0 ? 0 : 1);
val <<= 1;
}
binary.append(' ');
txtBox2.setText(binary);
}
}
});
btnClick2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ClipboardManager clipboard = (ClipboardManager)
getSystemService(Context.CLIPBOARD_SERVICE);
String text = txtBox2.getText().toString();
ClipData clip = ClipData.newPlainText("text", text);
clipboard.setPrimaryClip(clip);
Toast.makeText(getApplicationContext(), "Text Copied",
Toast.LENGTH_SHORT).show();
}
});
btnClick3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
txtBox2.setText("");
txtBox1.setText("");
}
});
btnClick4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
txtBox2.setText("");
String s = new String(binary);
txtBox1.setText(s);
}
});
}