Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android listview onclick侦听器不工作。_Java_Android_List_Listview - Fatal编程技术网

Java Android listview onclick侦听器不工作。

Java Android listview onclick侦听器不工作。,java,android,list,listview,Java,Android,List,Listview,我想不出这个代码有什么问题。我已经使用if fine好几天了,并没有改变它,我甚至在github正常工作时复制并粘贴了代码。我现在已经把我所有的代码都去掉了,只需简单地点击一下列表视图。首先,我只是让它在列表视图中的位置为0进行响应,现在我没有得到响应 请告诉我,我错过了一些愚蠢的事情 这是相关代码 public class AdminActivity extends AppCompatActivity implements AdapterView.OnItemClickListener {

我想不出这个代码有什么问题。我已经使用if fine好几天了,并没有改变它,我甚至在github正常工作时复制并粘贴了代码。我现在已经把我所有的代码都去掉了,只需简单地点击一下列表视图。首先,我只是让它在列表视图中的位置为0进行响应,现在我没有得到响应

请告诉我,我错过了一些愚蠢的事情

这是相关代码

public class AdminActivity extends AppCompatActivity implements AdapterView.OnItemClickListener {

    ArrayList<String> optionList = new ArrayList<String>();

     protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_admin);
            //set the context sp we can use firebase
    //        Firebase.setAndroidContext(this);
            optionList.add("VIEW DRIVERS");
            optionList.add("DESIGNATE A DRIVER");
            optionList.add("LOG OUT");
            listView1 = (ListView) findViewById(R.id.lv);
            ArrayAdapter adapter = new ArrayAdapter(AdminActivity.this, android.R.layout.simple_list_item_1, optionList);
            listView1.setAdapter(adapter);
            listView1.setOnItemClickListener(this);


        }
公共类AdminActivity扩展AppCompativeActivity实现AdapterView.OnItemClickListener{
ArrayList optionList=新建ArrayList();
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_admin);
//设置我们可以使用firebase的上下文sp
//Firebase.setAndroidContext(this);
optionList.add(“查看驱动程序”);
选项列表。添加(“指定驾驶员”);
选项列表。添加(“注销”);
listView1=(ListView)findViewById(R.id.lv);
ArrayAdapter=新的ArrayAdapter(adminivity.this,android.R.layout.simple\u list\u item\u 1,optionList);
listView1.setAdapter(适配器);
listView1.setOnItemClickListener(此);
}
还有onclick

 @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        Driver d = driverList.get(position);

        Toast.makeText(this,"Getting in here",Toast.LENGTH_SHORT).show();
        System.out.println("Getting in here");

        if(position == 0) {
            Toast.makeText(this,"0",Toast.LENGTH_SHORT).show();

        }
        else if(position == 1) {

            Toast.makeText(this,"DESIGNATE A DRIVER ACTIVITY 1",Toast.LENGTH_SHORT).show();

        }
        else if(position == 2) {
            Toast.makeText(this,"GOODBYE 2",Toast.LENGTH_SHORT).show();
            System.exit(0);

        }

    }
@覆盖
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
驱动器d=驱动器列表获取(位置);
Toast.makeText(这个“进入这里”,Toast.LENGTH_SHORT).show();
System.out.println(“进入这里”);
如果(位置==0){
Toast.makeText(这个“0”,Toast.LENGTH_SHORT).show();
}
否则如果(位置==1){
Toast.makeText(这是“指定驱动程序活动1”,Toast.LENGTH_SHORT.show();
}
否则如果(位置==2){
Toast.makeText(这是“再见2”,Toast.LENGTH_SHORT).show();
系统出口(0);
}
}

在ListView中创建的驱动程序对象试图从以前包含多个对象的列表中检索。因为此列表来自firebase,所以它没有抛出明显的错误。这就是以前使用相同代码的原因。

您不能在onItemClick()的开头设置断点吗检查那里发生了什么?它甚至没有进入onItemClick(),因为它没有打印我放在它开头的sytem.out.print?我刚刚意识到它是我在onclick开始时声明的对象,它在这里阻止了我。我太傻了,懒得为我认为的lol给出答案