0

Android アプリケーションの UI に次のリストが表示され、日付とその日の温度が表示されます。

temp      degree
11/01      --.-- c
11/02      21.7  c
11/03      22.5  c

ここでは、文字列の位置を見つけて"--.--"クリックし、リストを更新できるようにします。文字列の位置を見つける方法はありますか? solo.searchText()文字列が存在するかどうかがわかりますが、位置はどうですか?

4

3 に答える 3

1
// i think it will help you 

listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {

  @Override
  public void onItemClick(AdapterView<?> parent, final View view,
      int position, long id) {
                    // TODO Auto-generated method stub
                     if(yourliststring.trim().equals("--.--"))
                                   {
                                      //your condition
                                    }
                             else
                                {    
                                     //your condition

                                    }

                 }
            });
于 2013-11-06T11:12:30.360 に答える
0

文字列を見つけてクリックする簡単な方法があります

if(solo.searchText("--.--")){
            solo.clickLongOnText("--.--");
        }

文字列「--.--」をクリックするだけです。

于 2013-11-07T07:08:47.443 に答える
0

必要な位置はわかりませんが、画面上の位置が必要な場合は、次のように簡単に実行できます。

TextView textView = solo.getText("--.--"); // or solo.getText(Pattern.quote("--.--")); if needed
int[] xy = new int[2];
textView.getLocationOnScreen(xy);
final int viewWidth = textView.getWidth();
final int viewHeight = textView.getHeight();
final float x = xy[0] + (viewWidth / 2.0f);
final float y = xy[1] + (viewHeight / 2.0f);

このようにして、中心的な視点 (x, y) が得られます。

リスト内のテキストの位置が必要な場合は、次のことができます。

private int getPosition(ListView listView, String text) {
    for (int i = 0; i < listView.getAdapter().getCount(); i++) {
        Object o = listView.getAdapter.getItemAtPosition(i);
        if (o instanceof TextView) {
            if (((TextView)o).getText().toString().equals(text)) {
                return i;
            }
        }
    }
    return -1; // not found
}

たとえば、次のように呼び出すことができます(適切なパラメーターを設定します):

int position = getPosition((ListView) solo.getView(ListView.class, 0), "--.--");

テストもコンパイルもせずに書かれたすべてのものですが、主なアイデアは問題ないはずです。

于 2013-11-06T17:20:00.787 に答える