2017-03-17 86 views
0

我的listview有兩個textview。我想從文字視圖之一獲取文字。我曾嘗試使用下面的代碼嘗試,但這個是我得到「用戶@ 41f0a6b0」如何從列表視圖中獲取文本

allusers.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { 
      // TextView textView = (TextView) view.findViewById(R.id.nameHolder); 
      String name = adapterView.getItemAtPosition(i).toString(); 

我究竟做錯了什麼?

我getView()方法:

public View getView(int position, View convertView, ViewGroup parent) { 
     ViewHolder holder; 
if (convertView == null) { 
convertView = layoutInflater.inflate(R.layout.adapter_listing, null, false); 
      holder = new ViewHolder(); 
holder.fullname = (TextView) convertView.findViewById(R.id.user_fullname); 
    convertView.setTag(holder); 
} else { 
      holder = (ViewHolder) convertView.getTag(); 
     } 
+0

你能分享你的getView()方法嗎? – DroidDev

+1

您正嘗試僅使用'toString'將對象轉換爲字符串。你看到你哪裏出錯了嗎? – Coder

+0

@ User54321我在我的代碼中添加了我的getview()方法,請檢查它。 – Heman

回答

0

這是正確的做法:

 allusers.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
       @Override 
       public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { 
        TextView textView = (TextView) view.findViewById(R.id.nameHolder); 
        String text = textView.getText().toString(); 
        Toast.makeText(getApplicationContext(), "Selected item: " + text + " - " + position, Toast.LENGTH_SHORT).show(); 
       } 
     } 
+0

Toast.makeText(getApplicationContext(),「Selected item:」+ text +「 - 」+ position,Toast.LENGTH_SHORT).show();我試過這個,它仍然烘烤數字,但我在我的文本中有文字。 – Heman

0

可能:

String name = adapterView.getItemAtPosition(i).getText.toString(); 
0

你想獲得該項目是一個像一個用戶對象? 然後嘗試類似:

String name = adapterView.getItemAtPosition(i).getUserName(); 

如果有一個功能getUserName在你的對象

0

@Kamesh 感謝先生,你幫我解決這個問題。我這是怎麼傳開的:

allusers.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { 
     TextView textView = (TextView) view.findViewById(R.id.nameHolder); 
      String name = adapterView.getItemAtPosition(i).toString(); 

    User user= (User) allusers.getItemAtPosition(i); 

Toast.makeText(getApplicationContext(), 「選擇的項目:」 + user.getFirstname()+ 「 - 」 + 1,吐司 LENGTH_SHORT).show() ;

相關問題