2015-05-06 1 views
0

В андроида я один дизайн в виде списка с двумя кнопками, теперь я хочу, чтобы установить onclicklistener на одной кнопке, но в разных class.so я написал один кодКак решить проблему прослушивания onclcik в разных xml-макетах?

View view1; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_installation); 
     Datalist=(ListView)findViewById(R.id.installationList); 

     ButtonLayout ViewButton=new ButtonLayout(); 


     ArrayList<HashMap<String, String>> arl = (ArrayList<HashMap<String, String>>) getIntent().getSerializableExtra("hashMap"); 


     SimpleAdapter adapter = new SimpleAdapter(
       Installation.this, arl, 
       R.layout.activity_button_layout, new String[] 
         { 
         TAG_Title,TAG_URL 
         }, new int[] { 
         R.id.InnerText1,R.id.URL1 }); 


     LayoutInflater layoutInflater = (LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

     Datalist.setAdapter(adapter); 


     view1 = layoutInflater.inflate(R.layout.activity_button_layout,null); 


     ViewButton.ClickButton = (ImageButton)view1.findViewById(R.id.ImageButton01); 
     ViewButton.ClickButton.setOnClickListener(new View.OnClickListener(){ 
      public void onClick(View view) { 
       Log.i("Edit Button Clicked", "*********"); 
       } 
      }); 

но когда я бегу мое приложение, то оно останавливается, так что вы можете помочь мне

LogCat enter image description here

+0

Вы можете оставить LogCat? – Blusky

+0

я отправил LogCat, теперь вы можете решить мою ошибку? –

ответ

0

кажется на вашем XML, ваша кнопка имеет следующий атрибут:

android:onClick="clickImage" 

(поправьте меня, если я ошибаюсь, я буду править)

Вы не объявили любой метод, названный clickImage() в своей деятельности, поэтому при нажатии на кнопку, он бросает исключение ,

Так просто создать в вашей деятельности в public void clickImage(View v){} (или Fragmenta, который делает то, что вы хотите осуществляется по щелчку.

+0

Да, вы правы ... –

+0

я попытался это одно, а получает ошибку на view.onclicklistener, что является невыполненным методом ViewButton.ClickButton.setOnClickListener (новый View.OnClickListener() { \t \t \t общественного недействительного clickImage (View v) {} \t \t}); –

+0

Вам необходимо реализовать этот метод в Activity/Fragment, а не внутри другого метода. Вы можете удалить строку 'setOnClickListener()', как вы уже предоставили ее в XML. – Blusky

Смежные вопросы