簡體   English   中英

如何使用 soothscroll 滾動到某些特定的 textview 元素?

[英]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
        }
        }
    }

所以你想檢查TextViewSpinner中的文本,對吧? 我的建議:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM