2013-10-23 25 views
-1

我想顯示一個項目從我的listView,我沒有得到任何錯誤在日食但如果我點擊一個項目我的應用程序指出它正在關閉。使用烤麪包在列表視圖中選擇一個項目

這是我用烤麪包'的代碼

private void registerClickCallback() { 
    ListView list1 = (ListView) findViewById(R.id.listView1); 
    list1.setOnItemClickListener(
     new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> parent, View viewClicked, int postion, long id) { 
      TextView textView = (TextView) viewClicked; 
      String message = "This is the message: " + textView.getText().toString(); 

      Toast.makeText(MainActivity.this, message, Toast.LENGTH_LONG).show(); 
     } 
    });` 

這是我對我的名單陣列適配器

`private class MyListAdapter extends ArrayAdapter<Messages>{ 
    public MyListAdapter() { 
     super(MainActivity.this, R.layout.item_view, messages); 

    } 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     // make sure we have a view to work with 

     View itemView = convertView; 
     if (itemView == null){ 
      itemView = getLayoutInflater().inflate(R.layout.item_view, parent, false); 
     } 

     // find the message to work with 
     Messages currentMessages = messages.get(position); 

     // fill the view for icon (The icon used in my view) 
     ImageView imageView = (ImageView)itemView.findViewById(R.id.item_icon); 
     imageView.setImageResource(currentMessages.getIconID()); 

     // the message, setting the message written to the message on my view 
     TextView textMessage = (TextView) itemView.findViewById(R.id.item_message); 
     textMessage.setText(currentMessages.getMessage()); 

     // the sender, filling the sender to the sender on my view 
     TextView textSender = (TextView) itemView.findViewById(R.id.item_sender); 
     textSender.setText(currentMessages.getSender()); 

     return itemView; // getting the item view back 
    } 
} // custom adapter ends` 

我不知道到底是哪裏的問題,任何幫助,將不勝感激

+0

截圖?另外,Logcat說什麼? – Si8

+1

嗨,而不是「TextView textView =(TextView)viewClicked;」使用TextView textView =(TextView)viewClicked.findviewbyid(R.id。<>); – vinaykumar

+0

可能viewClicked不是一個textView
類似於這個問題http://stackoverflow.com/questions/19540646/android-listview-itemclick/19543110#19543110 – Devrim

回答

2

這條線就在這裏

TextView textView = (TextView) viewClicked; 

是不是你得到的TextView

你需要

TextView textView = (TextView) viewClicked.findViewById(r.id.textviewid); 
+0

謝謝你的幫助 – dhali

-1
// list item click replace with this one 

     private void registerClickCallback() { 
       ListView list1 = (ListView) findViewById(R.id.listView1); 
       list1.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
        @Override 
        public void onItemClick(AdapterView<?> parent, View viewClicked, int postion, long id) { 
         //TextView textView = (TextView) viewClicked; 
         // String message = "This is the message: " + textView.getText().toString(); 
         String message = list1 .getItemAtPosition(position).toString(); 

         Toast.makeText(MainActivity.this, message, Toast.LENGTH_LONG).show(); 
        } 
       });` 
相關問題