Android 为子布局设置OnClickListener
如何为子布局设置onClickListener…每个子布局都必须打开一些新活动。我需要设置每个孩子可以点击打开新的活动。在那里我需要放一个代码…我是新来的 这是我的适配器:Android 为子布局设置OnClickListener,android,layout,onclicklistener,Android,Layout,Onclicklistener,如何为子布局设置onClickListener…每个子布局都必须打开一些新活动。我需要设置每个孩子可以点击打开新的活动。在那里我需要放一个代码…我是新来的 这是我的适配器: public MyExpandableAdapter(ArrayList<String> parents, ArrayList<Object> childern) { this.parentItems = parents; this.childtems = childern; } p
public MyExpandableAdapter(ArrayList<String> parents, ArrayList<Object> childern)
{
this.parentItems = parents;
this.childtems = childern;
}
public void setInflater(LayoutInflater inflater, Activity activity)
{
this.inflater = inflater;
this.activity = activity;
}
// method getChildView is called automatically for each child view.
// Implement this method as per your requirement
@Override
public View getChildView(final int groupPosition, final int childPosition, boolean isLastChild, View convertView, ViewGroup parent)
{
child = (ArrayList<String>) childtems.get(groupPosition);
TextView textView = null;
ImageView img = null;
if (convertView == null) {
convertView = inflater.inflate(R.layout.child_view, null);
}
// get the textView reference and set the value
textView = (TextView) convertView.findViewById(R.id.textViewChild);
textView.setText(child.get(childPosition));
img = (ImageView) convertView.findViewById(R.id.childImage);
if (childPosition == 0 && groupPosition==0) {
img.setImageResource(R.drawable.slika1);
}
if (childPosition == 1 && groupPosition==0) {
img.setImageResource(R.drawable.slika2);
}
if (childPosition == 2 && groupPosition==0) {
img.setImageResource(R.drawable.slika1);
}
if (childPosition == 3 && groupPosition==0) {
img.setImageResource(R.drawable.slika2);
}
if (childPosition == 4 && groupPosition==0) {
img.setImageResource(R.drawable.slika1);
}
if (childPosition == 5 && groupPosition==0) {
img.setImageResource(R.drawable.slika2);
}
if (childPosition == 6 && groupPosition==0) {
img.setImageResource(R.drawable.slika1);
}
if (childPosition == 7 && groupPosition==0) {
img.setImageResource(R.drawable.slika2);
}
if (childPosition == 8 && groupPosition==0) {
img.setImageResource(R.drawable.slika1);
}
if (childPosition == 0 && groupPosition==1) {
img.setImageResource(R.drawable.slika2);
}
if (childPosition == 1 && groupPosition==1) {
img.setImageResource(R.drawable.slika1);
}
if (childPosition == 2 && groupPosition==1) {
img.setImageResource(R.drawable.slika2);
}
if (childPosition == 3 && groupPosition==1) {
img.setImageResource(R.drawable.slika1);
}
if (childPosition == 0 && groupPosition==2) {
img.setImageResource(R.drawable.slika2);
}
if (childPosition == 1 && groupPosition==2) {
img.setImageResource(R.drawable.slika1);
}
if (childPosition == 2 && groupPosition==2 ) {
img.setImageResource(R.drawable.slika2);
}
if (childPosition == 3 && groupPosition==2) {
img.setImageResource(R.drawable.slika1);
}
if (childPosition == 0 && groupPosition==3) {
img.setImageResource(R.drawable.slika2);
}
if (childPosition == 1 && groupPosition==3) {
img.setImageResource(R.drawable.slika1);
}
if (childPosition == 2 && groupPosition==3) {
img.setImageResource(R.drawable.slika2);
}
if (childPosition == 3 && groupPosition==3) {
img.setImageResource(R.drawable.slika1);
}
// set the ClickListener to handle the click event on child item
convertView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(activity, child.get(childPosition),
Toast.LENGTH_SHORT).show();
}
});
return convertView;
}
// method getGroupView is called automatically for each parent item
// Implement this method as per your requirement
@Override
public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent)
{
if (convertView == null) {
convertView = inflater.inflate(R.layout.parent_view, null);
}
((CheckedTextView) convertView).setText(parentItems.get(groupPosition));
((CheckedTextView) convertView).setChecked(isExpanded);
return convertView;
}
公共MyExpandableAdapter(ArrayList父项,ArrayList子项)
{
this.parentItems=父项;
this.childtems=childern;
}
公共空隙设置充气机(充气机、活动)
{
这个。充气机=充气机;
这个。活动=活动;
}
//方法getChildView会自动为每个子视图调用。
//根据您的需求实施此方法
@凌驾
公共视图getChildView(最终整数组位置、最终整数子位置、布尔isLastChild、视图转换视图、视图组父级)
{
child=(ArrayList)childtems.get(groupPosition);
TextView TextView=null;
ImageView img=null;
if(convertView==null){
convertView=充气机。充气(R.layout.child_视图,空);
}
//获取textView引用并设置值
textView=(textView)convertView.findViewById(R.id.textViewChild);
setText(child.get(childPosition));
img=(ImageView)convertView.findViewById(R.id.childImage);
if(childPosition==0&&groupPosition==0){
img.setImageResource(R.drawable.slika1);
}
if(childPosition==1&&groupPosition==0){
img.setImageResource(R.drawable.slika2);
}
if(childPosition==2&&groupPosition==0){
img.setImageResource(R.drawable.slika1);
}
if(childPosition==3&&groupPosition==0){
img.setImageResource(R.drawable.slika2);
}
if(childPosition==4&&groupPosition==0){
img.setImageResource(R.drawable.slika1);
}
if(childPosition==5&&groupPosition==0){
img.setImageResource(R.drawable.slika2);
}
if(childPosition==6&&groupPosition==0){
img.setImageResource(R.drawable.slika1);
}
if(childPosition==7&&groupPosition==0){
img.setImageResource(R.drawable.slika2);
}
if(childPosition==8&&groupPosition==0){
img.setImageResource(R.drawable.slika1);
}
if(childPosition==0&&groupPosition==1){
img.setImageResource(R.drawable.slika2);
}
if(childPosition==1&&groupPosition==1){
img.setImageResource(R.drawable.slika1);
}
if(childPosition==2&&groupPosition==1){
img.setImageResource(R.drawable.slika2);
}
if(childPosition==3&&groupPosition==1){
img.setImageResource(R.drawable.slika1);
}
if(childPosition==0&&groupPosition==2){
img.setImageResource(R.drawable.slika2);
}
if(childPosition==1&&groupPosition==2){
img.setImageResource(R.drawable.slika1);
}
if(childPosition==2&&groupPosition==2){
img.setImageResource(R.drawable.slika2);
}
if(childPosition==3&&groupPosition==2){
img.setImageResource(R.drawable.slika1);
}
if(childPosition==0&&groupPosition==3){
img.setImageResource(R.drawable.slika2);
}
if(childPosition==1&&groupPosition==3){
img.setImageResource(R.drawable.slika1);
}
if(childPosition==2&&groupPosition==3){
img.setImageResource(R.drawable.slika2);
}
if(childPosition==3&&groupPosition==3){
img.setImageResource(R.drawable.slika1);
}
//设置ClickListener以处理子项上的click事件
convertView.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
Toast.makeText(活动,子.get(子位置),
吐司。长度(短)。show();
}
});
返回视图;
}
//为每个父项自动调用方法getGroupView
//根据您的需求实施此方法
@凌驾
公共视图getGroupView(int groupPosition、布尔isExpanded、视图convertView、视图组父级)
{
if(convertView==null){
convertView=充气机。充气(R.layout.parent_视图,空);
}
(CheckedTextView)convertView.setText(parentItems.get(groupPosition));
((CheckedTextView)convertView).setChecked(isExpanded);
返回视图;
}
您可以使用以下代码设置背景和单击侦听器,而不是if条件:
Intent intent = null;
switch (groupPosition){
case 0:
switch (childPosition){
case 0:
img.setImageResource(R.drawable.slika1);
intent = new Intent(activity, Activity1.class);
break;
....
}
break;
case 1:
switch (childPosition){
case 0:
img.setImageResource(R.drawable.slika2);
intent = new Intent(activity, Activity2.class);
break;
....
}
break;
}
convertView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
activity.startActivity(intent);
}
});
希望这能有所帮助。发布你代码的xml代码我不知道如何发布代码……我是新来的:-(…电子邮件?viber?我按照你说的写,但什么都没有
Intent intent = null;
switch (groupPosition){
case 0:
switch (childPosition){
case 0:
img.setImageResource(R.drawable.slika1);
intent = new Intent(activity, Activity1.class);
break;
....
}
break;
case 1:
switch (childPosition){
case 0:
img.setImageResource(R.drawable.slika2);
intent = new Intent(activity, Activity2.class);
break;
....
}
break;
}
convertView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
activity.startActivity(intent);
}
});