2017-07-29 16 views
0

ここでOnItemclickListenerは呼び出されません。ここに私のコードFirebase Dataに従ってListViewのスイッチステータスを設定する必要がありますが、現在正常に動作していますが、ListView OnItemClickListenerは現在動作していません。

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    ListView listView = (ListView) findViewById(R.id.list_item); 
    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
      String Name = pairName[position]; 
      Intent intent = new Intent(MainActivity.this, EditDetailsActivity.class); 
      intent.putExtra("Name", Name); 
      startActivity(intent); 
     } 
    }); 

    getSwitchStatus(pairName,listView); 
} 

public ListView getSwitchStatus(final String[] pairName1, final ListView listView1) { 
    final ArrayList<Boolean> xz=new ArrayList<>(); 
    String x; 

    for (int n =0 ;n<pairName1.length; n++) { 
     x = pairName1[n]; 

     FirebaseDatabase database = FirebaseDatabase.getInstance(); 
     DatabaseReference databaseReference = database.getReference("data").child(x.replace("/",""));; 
     DatabaseReference databaseReference11 = databaseReference.child("Switch"); 
     Log.v("value111",String.valueOf(n)+databaseReference11.toString()); 
     databaseReference11.addListenerForSingleValueEvent(new ValueEventListener() { 
      @Override 
      public void onDataChange(DataSnapshot dataSnapshot) { 
       Boolean value = dataSnapshot.getValue(Boolean.class); 

       xz.add(value); 
       if (xz.size()==pairName1.length) { 
        sigAdapter adapter = new sigAdapter(MainActivity.this, pairName, imageId, xz); 
        listView1.setAdapter(adapter); 
       } 

       Log.v("valu",xz.toString()); 
      } 

      @Override 
      public void onCancelled(DatabaseError databaseError) { 

      } 
     }); 
    } 

    return listView1; 
} 
+0

を入れているのは、あなたも設定する必要があり – Say

+0

は、正確な問題は、私を助けていることをだれにも知っていた...私を助けてくださいあなたのカスタムアダプターからアイテムをクリックしてください – Say

答えて

0

は はそれが動作することができ、これを試してみてくださいです。

このようなメソッド呼び出し。

//holder.relQuestion is you row file main layout id so replace this with your id. 

この方法は、お使いのアダプタに

holder.relQuestion.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      //here you can write your code 
     } 
    }); 
+0

.... – Say

+0

に動作していない –

+0

私はとにかく方法は、試してみるとは思わない.. – Say

関連する問題