我有一个简单的开关案例:
switch (view.getId()){
case R.id.one:
break;
case R.id.two:
break;
}
我想做的是写一些聪明且自足的内容来获取上述文本视图的文本值。例如,r.id.one保持1的文本,而r.id.two保持2的文本。 每当我按1时,我想得到它的文本值。 我知道可以通过以下方式完成:
TextView one = (TextView)findviewbyid(r.id.one);
one.getText();
但随着textview的增加,很难维护,因为我想稍后使用获得的值。
感谢所有的downvotes,非常有帮助。
解决方案:
switch (view.getId()){
case R.id.one:
String number = (String) ((TextView)view).getText();
break;
case R.id.two:
String number = (String) ((TextView)view).getText();
break;
}
现在,number从textview接收值。谢谢大家。
答案 0 :(得分:2)
如果视图是任何TextView,您可以尝试获取文本,而不是开关。例如:
if (view instanceof TextView) {
((TextView) view).getText();
}
答案 1 :(得分:1)
试试Butterknife 库。
使用类似:
@OnClick({R.id.textviewID1, R.id.textviewID1)
protected void onTextViewClick(TextView textView) {
textView.getText();
}
这允许您仅使用简单的注释为每个textview使用相同的回调函数。
并使代码更具可读性。