2016-01-27 4 views
-3
//inflating row 
customView1=inflater.inflate(R.layout.single_row_materialdimension, null); 

container = (ViewGroup) findViewById(R.id.container); 
container.addView(customView1, 0, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT)); 

//Getting child Count from parent inflated the child 
int child = container.getChildCount(); 
container.setTag(child + 1); 

for (int i = 0; i < child; i++) { 
    Log.e("ChildAt", "" + container.getChildAt(i)); 
    View childView = container.getChildAt(i); 
    Log.e("childView ", "childView" + childView); 
    TextView tv1=(TextView)childView.findViewById(R.id.txt_parent_plus_id); 

    // setting onClickListner to inflated child 
    //i want to get unique id when i click on the inflated child** 
    tv1.setOnClickListener(handleOnClick(tv1)); 
} 

//i want to get unique id when i click on the inflated child** 

View.OnClickListener handleOnClick(final View view) { 
    return new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      Log.e("Clicked", "Clicked" + container.getTag()); 
     } 
    }; 
} 
+0

Вопрос не ясен. Plz подробнее –

+0

Точно. Ваш вопрос немного неясен. Что ты пытаешься сделать? Получить идентификатор щелкнутого вида? Или попробуйте получить идентификатор любого вида ресурсов? –

+0

У меня есть один родительский макет с textview1, Edittext1, textview2 и дочерний макет с textview3, editext2, textview4 ... что я пытаюсь сделать, когда я нажимаю на textview2, тогда childlayout становится завышенным, и теперь textview4 имеет onclicklistner и когда я нажимаю textview4, то новый ребенок будет раздуваться ниже него .... и я хочу уникальный идентификатор для предыдущего ребенка textview4 и в настоящее время раздутый ребенок textview4 –

ответ

0

Использование SETID() и GetId() методы.

for (int i = 0; i < child; i++) { 
Log.e("ChildAt", "" + container.getChildAt(i)); 
View childView = container.getChildAt(i); 
TextView tv1=(TextView)childView.findViewById(R.id.txt_parent_plus_id); 
tv1.setId(i); 
} 


tv1.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 

      int id=tv1.getId(); 
      Log.e("Clicked", "Clicked" + String.valueOf(id))); 
     } 
    }); 
+0

получение исключения null указателя, первый ребенок раздувается, но во второй инфляции ребенка он дает мне null исключение указателя в этой строке –

+0

tv1.setId (i); tv1.setOnClickListener (handleOnClick (tv1)); –

+0

вы удалите этот tv1.setOnClickListener (handleOnClick (tv1)); и что место вставить выше кода, а затем проверить – sasikumar

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