程序似乎永远不会进入onclick听

时间:2011-09-22 19:23:54

标签: android listview onitemclicklistener

下面是我正在玩的一些代码,但是当我调试它时,任何人都可以帮助onitemclicklistener例程吗?

package sanderson.swords.mobilesales;

import java.util.ArrayList;
import java.util.HashMap;

import android.app.Activity;
import android.app.ListActivity;
import android.database.Cursor;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.SimpleAdapter;

import android.widget.AdapterView.OnItemClickListener;

public class OrderProductSearch extends Activity {
 ArrayList<HashMap<String,String>> list = new ArrayList<HashMap<String,String>>();
    HashMap<String,String> item = new HashMap<String,String>();
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    try{
        setContentView(R.layout.orderproducts);
    }
    catch (Exception e) {
        //
        String shaw="";
        shaw = e.getMessage();
    }

    //Create view of the list where content will be stored
    final ListView listContent = (ListView)findViewById(R.id.orderproductlistview); 

    //Set for fast scrolling 
    listContent.setFastScrollEnabled(true);

    //Create instance of the database
    final DbAdapter db = new DbAdapter(this); 

    //Open the Database and read from it
    db.openToRead();

    //Routine to call all product sub groups from the database
    final Cursor cursor = db.getAllSubGroupProduct();
   //Manages the cursor
    startManagingCursor(cursor);
    int i=0;
    cursor.moveToFirst();
    while (cursor.getPosition() < cursor.getCount()) {
         item.put("ProdName",cursor.getString(2));
         item.put("ProdSize", cursor.getString(3));
         item.put("ProdPack",cursor.getString(4));
         item.put("OrdQty","0");

         //list.add(item);
         list.add(i, item);
         item = new HashMap<String,String>();   
         cursor.moveToNext();
        i = i + 1;

    }

    String[] from = new String[] {"ProdName", "ProdSize", "ProdPack", "OrdQty"};

    int[] to = new int[] { R.id.productlinerow, R.id.productlinerow2, R.id.productlinerow3, R.id.productlinerow4};
    SimpleAdapter notes = new SimpleAdapter(OrderProductSearch.this,list,R.layout.productlinerow,from,to);                  
    listContent.setAdapter(notes);


    //Close the database
    db.close();     



    listContent.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {    

            String neil = "test";

            neil = neil + "test";

        }
      }); 


    }




 }

2 个答案:

答案 0 :(得分:0)

如果在

处设置断点
listContent.setOnItemClickListener(new OnItemClickListener() {

单击时可能不会中断。

尝试在

处设置断点
String neil = "test";

和调试。

答案 1 :(得分:0)

验证点击侦听器的一种更简单的方法是在其中添加一些logcat打印,例如

listContent.setOnItemClickListener(new OnItemClickListener() {
   public void onItemClick(AdapterView<?> parent, View view,
            int position, long id) {    

        Log.d(TAG, "Click!");
    }
  });