[英]How to Scroll to some particular textview element using soothscroll?
在我的页面中,我有两个部分。 一种是包含多个类别的下拉菜单。 另一个包含所有类别的产品。 就像我在图像中显示的那样。 当用户单击任何类别时,页面将滚动到所选类别的相应产品。
到目前为止,我已经尝试过:- 首先,我需要在微调器中动态绑定类别名称。 之后,我需要将产品与具有微调器值 id 的类别名称绑定。 因此,当用户选择任何东西时,我需要从微调器中获取值,然后我需要将该值与产品元素匹配。 一旦匹配,我的页面应该滚动到该特定元素。 对此有人有任何想法吗? 在此处输入图像描述
您可以检查您的视图可见性:
if (youtTextView.getVisibility() == View.VISIBLE) {
//Your TextView is visible
} else {
//Your TextView is not visible (invisible or gone)
}
TextView 需要在 XML 布局中分配一个 id。
android:id="+id/SomeName"
现在在您的主要 java class 中,您需要声明一个 TextView 类型变量。
private TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = findViewById(R.id.SomeName);
现在在键入最后一行时,如果您看到 android 工作室的模板中出现 R.id."SomeName",那么这意味着您的 textview 存在于当前 setContentView 中。
如果它不存在,它将引发红线或 null 错误。 至于可见性,您可以使用.getVisibility()
function。
**更新的答案**
View parent = layout.getParent();
for (int i = 0; i < parent.getChildCount(); i++) {
View v = parent.getChildAt(i);
if(v instanceof TextView)
{
String spinner= mySpinner.getSelectedItem().toString();
String tv= v.getText().toString();
if (str1.equals(str2)) {
// Show code you want
}
}
}
所以你想检查TextView和Spinner中的文本,对吧? 我的建议:
mySpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
String str1 = mySpinner.getSelectedItem().toString();
String str2 = textview.getText().toString();
if (str1.equals(str2)) {
// Show code you want
}
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.