今天有一个需求,是三个TextView 选中哪个哪个文本增加"【】"外框,例如选择room1,则为 【room1】 room2 room3 、选择room2则为 room1【room2】room3
首先为XML代码
没有什么好说的,就是建立三个Textview
private String neirong3[]=new String[3];//这行声明在onCreate方法之外
TextView room_name[] = new TextView[3];
room_name[0]= (TextView)findViewById(R.id.room1) ;
room_name[1]= (TextView)findViewById(R.id.room2) ;
room_name[2]= (TextView)findViewById(R.id.room3) ;
for(int ff=0;ff<=room_name.length-1;ff++){
neirong3[ff] = room_name[ff].getText().toString();
room_name[ff].setText(neirong3[ff]);
}
for (int o=0;o<=room_name.length-1;o++){
int finalO = o;
room_name[o].setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
for(int ff=0;ff<=room_name.length-1;ff++){
room_name[ff].setText(neirong3[ff]);//每次都刷新一下textview中的内容不然【】会疯狂叠加
}
String neirong = room_name[finalO].getText().toString();
room_name[finalO].setText("【"+neirong+"】");//添加【】
}
});
}
这个地方要注意。如果每次点击时只读取当时textview中的内容而不进行初始化的话,会出现【】的叠加 例如 【【【room1】】】 room2 room3 这种情况
for(int ff=0;ff<=room_name.length-1;ff++){
room_name[ff].setText(neirong3[ff]);//每次都刷新一下textview中的内容不然【】会疯狂叠加
}
这一段代码解决了 这个问题
如果还有问题,可以评论或私信问我。
代码小学生,水平有限,代码不好,还请谅解。



