2015-03-14 2 views
0

Как я могу использовать строку, выбранную в ListView вне onItemClick() метод в пределах одной и той же деятельности:строка выбрана в ListView для использования вне общественных ничтожной onItemClick()

public class MainActivityU2U extends Activity { 
public String String1; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity1); 

     //some coding to get list view adapters and so on 

     listParams.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
       @Override 
       public void onItemClick(AdapterView<?> parent,View viewClicked, int position, long id) {           

        String1 = String.valueOf(parent.getItemAtPosition(position)); 
       } 
      }); 
     if (String1 =="wtvr"){ 
      //Do this 
     } 
     else { 
      //Do that 
     } 

}

+0

Что вы пытаетесь сделать? Я бы предпочел, чтобы это было наоборот: доступ, наконец, объявленные представления и члены, а также методы в вашем 'OnItemClickListener' для обработки строки. – Trinimon

+0

Просто вызовите метод из вашего 'OnItemClickListener' - это просто. BTW не делает этого ... 'if (String1 ==" wtvr ")' - вы не можете сравнивать строки в Java с помощью '==' - вместо этого используйте метод 'equals (...)'. – Squonk

+0

Да, вы правы .equals() необходимо использовать. Но заголовок ques - это строка, выбранная в listview для использования вне public void onItemClick() ' –

ответ

0

вы могли бы используйте метод. Например.

private void processInput(String value) { 
    if ("wtvr".equals(value)) { 

    } else { 

    } 
} 

и от onItemClick, используйте метод, как:

processInput((String)parent.getItemAtPosition(position)) 
+0

Так что в основном пользователь выбирает элемент в списке. Затем этот элемент используется во многих местах кода (в рамках одного действия) для выполнения разных действий (например, для создания другого списка на основе значения элемента) –