2015-04-02 52 views
0

嘿傢伙即時通訊問題,從列表視圖中刪除一個對象,每次按下「刪除」按鈕時。現在,我用一個簡單的吐司消息替換了那些意味着是刪除功能的代碼,只是爲了讓我知道該按鈕的工作原理,但是屏幕上沒有任何東西出現,所以我認爲它不起作用。當我點擊刪除按鈕時,沒有錯誤出現在日誌貓身上。從列表視圖刪除項目 - 解析(Android)

我跟着一個解析教程由android開始創建這個簡單的列表視圖,但想添加更多的功能。

所有的
@Override 
    protected void onPostExecute(Void result) { 
     // Locate the listview in listview_main.xml 
     listView = (ListView) findViewById(R.id.listview); 
     // Pass the results into an ArrayAdapter 
     adapter = new ArrayAdapter<String>(SelectCourse.this, 
       R.layout.listview_item, R.id.text); 
     // Retrieve object "name" from Parse.com database 
     for (ParseObject course : ob) { 
      adapter.add((String) course.get("name")); 
     } 
     // Binds the Adapter to the ListView 
     listView.setAdapter(adapter); 
     // Close the progress dialog 
     mProgressDialog.dismiss(); 
     // Capture button clicks on ListView items 
     listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> parent, View view, 
            final int position, long id) { 
       // Send single item click data to SingleItemView Class 
       Intent i = new Intent(SelectCourse.this, 
         SingleItemView.class); 
       // Pass data "name" followed by the position 
       i.putExtra("name", ob.get(position).getString("name") 
         .toString()); 

       // Open SingleItemView.java Activity 
       startActivity(i); 

       //locate delete button 
       deleteBtn = (Button) findViewById(R.id.delete); 

       //create on click listener for the delete button 
       deleteBtn.setOnClickListener(new View.OnClickListener() { 
        @Override 
        public void onClick(View v) { 
         View parentRow = (View) v.getParent(); 
         ListView listView1 = (ListView) parentRow.getParent(); 
         final int position = listView1.getPositionForView(parentRow); 
         Toast.makeText(getApplicationContext(), "Successfully Deleted", Toast.LENGTH_LONG).show(); 

        } 
       }); 
      } 



     }); 

回答

0

首先,它會更好,如果你沒有在listviewitemOnClickListener添加按鈕onclicklistener

相反,覆蓋適配器的getView方法,有你應該使用下面的設置onclicklistener上的按鈕類似下面

adapter = new ArrayAdapter<String>(SelectCourse.this, 
       R.layout.listview_item, R.id.text) { 

@Override 

public View getView(int position, View convertView, ViewGroup parent) { 

deleteBtn = (Button) view.findViewById(R.id.delete); 

// add your button onclicklistener here 
return super.getView(position, convertView, parent); 

} 

}; 
+0

感謝您的答覆,我只是想上面的代碼,它仍然犯規似乎工作:(。你認爲這是值得我把xml佈局文件在我的問題,以及所以你可以看到如何一個ID的東西? – hero8110 2015-04-02 15:16:10

+0

Overrode getView? – 2015-04-02 15:17:40

+0

即時通訊不知道你的意思,對不起我的android編程知識是非常小的 – hero8110 2015-04-02 15:20:51

相關問題