这是错误的描述
onClick处理程序名称中不应有空格onClick属性值应该是此View视图中单击视图时调用的方法的名称。此名称必须对应于只接受View类型的一个参数的公共方法。必须是字符串值,使用' \;'逃避诸如' \ n'等人物或者' \ uxxxx'对于unicode角色。
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);
}
});
答案 0 :(得分:0)
您为不同的3个按钮使用了同名btnClick
。可能这是问题所在。使用不同的名称。
答案 1 :(得分:0)
您尚未关闭OnClickListener接口。 改变
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.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);
}
}
});
请注意,我已添加
} }); 你的代码。在此行之后开始下一个代码。
答案 2 :(得分:0)
只需使用different Button variables
代替ids
中的不同按钮xml
,不要使用相同的按钮名称来调用onClick
方法。
例如:
Button btnClick,btnClick1,btnClick2;
有关详细信息,请访问此link.
答案 3 :(得分:0)
您需要创建不同的按钮变量名称和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);
}
});
}
检查