2017-03-25 5 views
0

私はイメージクリックリスナーにショーポップアップを試みています。そのポップアップから値を取得したいのですが、ポップアップから値が得られません。 クリックリスナーでItemclicllistnerを呼び出していますが、動作していません。私のOnItemclicklistnerが動作していません

これは私のコードです:

public void onClick(View view) 
    { 
     if(view.getId()==R.id.imgv_search) 
     { 
      LayoutInflater inflator = (LayoutInflater)Home.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     View show_menu_popup = inflator.inflate(R.layout.popup_list, null); 
     ListView listv_problems = (ListView) show_menu_popup.findViewById(R.id.listv_problems); 
     AdapterCity city = new AdapterCity(Home.this,al_cityid,al_cityname); 
     listv_problems.setAdapter(city); 
     Dialog dialog_menus = new Dialog(Home.this); 
     dialog_menus.setTitle("Select city : "); 
     dialog_menus.setContentView(show_menu_popup); 
     dialog_menus.show(); 
     listv_problems.setOnItemClickListener(this); 
     //Toast.makeText(Home.this,"City is changed : "+edt_city_name.getText(),Toast.LENGTH_SHORT).show(); 
    } 


} 

そして、これは私のOnItemclickListenerです:

public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) 
{ 

    if(adapterView.getId()== R.id.listv_problems) 
    { 
     //TextView cityid= (TextView)adapterView.findViewById(R.id.cityid); 
     //String city_id= cityid.getText().toString(); 
     Toast.makeText(Home.this,"You click popup",Toast.LENGTH_LONG); 

    } 


} 
+0

は'Dialog'は開かれていますか? –

+0

トーストを表示していますか? –

+0

これらの行を変更する必要があります: 'dialog_menus.show();'と 'listv_problems.setOnItemClickListener(this);'。 showメソッドは同期的なので、**ポップアップが閉じられた後にのみ**を返すようになるため、リスナーはまだ登録されていません –

答えて

0
あなたが使用することができます

...

public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) { 

    al_citynames.get(position); 
    //this will give you the value of city 
    Toast.makeText(Home.this,"You click popup",Toast.LENGTH_LONG); 

} 

それとも、onItemClick();

view.getitembyposition()を使用することができます
+0

トーストが表示されません。 – Abhijeet

+0

アダプターでonclickを設定しようとしましたか? –

関連する問題