2017-07-17 3 views
0

私はonItemclicklistenerで問題が発生しました。 ファイアベースからリアルタイムデータを取得しています リアルタイムの注文を受け取り、特定の注文をクリックすると、その特定の注文の詳細を表示する別のアクティビティに移動します。 どうすれば入手できますか? Switch Statementsはこのシナリオでは機能しません。 どのように私はデータベース内で一致するいくつかのIDを取得するので、私はその特定の詳細を得ることができます。 私はこの方法 CustomListViewクリックベースのリスナー

 myListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) { 
String name=(String)adapterView.getItemAtPosition(i); 

       Intent i=new Intent(order.this,details.class); 
       i.putExtra("CATEGORY", name); 
     startActivity(i); 
      } 
     }); 

と詳細クラス

Intent i = new Intent(); 
String name=i.getStringExtra("CATEGORY"); 
databaseReference=FirebaseDatabase.getInstance().getReference(Constans.CATEGORIES).child(name); 

を試みたが、それがクラッシュしています。

String orderName = (String) adapterView.getItemAtPosition(position); 

がそれを願っています:

答えて

1

あなたはonItemClick()メソッド内でこのコードを使用する必要があるためのその名前を取得するには、ListViewが注文名とユーザーのクリックがname of the orderされている項目が含まれていると仮定すると、助けてください。

+0

更新されたコードを確認してください –

+0

そして?あなたはクラッシュしていると言います。 logcatのエラーは何ですか? –

0

火災報知でitem_idを渡して、listviewadapterに保管することができます。

これ以降は、activityextrasに入れることで、このidを新しいactivityに渡すことができます。

+0

どのように?あなたは私にダミーコードを送ることができますか? –