2016-07-29 2 views
0

У меня есть listview с двумя строками элементов: идентификатор пользователя и имя пользователя. Как получить только идентификатор пользователя из listview при нажатии одной из строк?Android - ListView layout 2 строки списка item

public class MainActivity extends AppCompatActivity { 

private DatabaseReference mUsers; 
String getValue = null; 
ListView lvUsers = (ListView) findViewById(R.id.lvUsers); 

@Override 
protected void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 


    mUsers = FirebaseDatabase.getInstance.getReference().child(Constants.FIREBASE_USERS); 

    FirebaseListAdapter<Users> adapter = new FirebaseListAdapter<Users>(
      this, Users.class, android.R.layout.two_line_list_item, mUsers 
    ) { 
      @Override 
      protected void populateView(View v, Users user, int pos) { 
      ((TextView)v.findViewById(android.R.id.text1)).setText(user.getUserID()); 
      ((TextView)v.findViewById(android.R.id.text2)).setText(user.getUsername()); 
      } 
    }; 

    lvUsers.setAdapter(adapter); 
    setupListViewMenu(); 
} 

private void setupListViewMenu() { 
    lvUsers.setOnItemLongClickListener(
      new AdapterView.OnItemLongClickListener() { 
     @Override 
     public boolean onItemLongClick(AdapterView<?> adapter, 
             View item, int pos, long id) { 

      // How to retrieve only User ID from here? 
      getValue = ((TextView)view).getText().toString(); 

      return true; 
     } 

    }); 
} 
} 

Данные listview от базы данных Firebase. Выбирает только for loop? Мне нужно пройти через двумерный массив? Спасибо

ответ

1

Не могли бы вы запросить код?

getValue = ((TextView)item.findViewById(android.R.id.text2)).getText().toString(); 

Я считаю, что android.R.id.text2 является одним из Чайлдс из item (View полученных в clickListener)

Но нужно проверить ... Надеюсь, что это работает