RT我用如下的代码来测试:package com.example.zclistview01;import java.util.ArrayList;import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.*;public class MainActivity extends Activity
{
ArrayList<Button> FarrlistBtns = null;
ArrayAdapter<Button> FarrAdapter = null;
ListView FlistView01 = null; @Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// ***
FarrlistBtns = new ArrayList<Button>();
FarrAdapter = new ArrayAdapter<Button>(MainActivity.this,
R.layout.listitem_btn, FarrlistBtns);
FlistView01 = (ListView)findViewById(R.id.listView01);
FlistView01.setAdapter(FarrAdapter); Button btnNew = new Button(MainActivity.this);
btnNew.setText("New1"); // 1、这个设置好像没用
btnNew.setOnClickListener(new Button.OnClickListener() // 2、这个设置好像没用
{
@Override
public void onClick(View _v)
{
Toast.makeText(
getApplication(),
"DDD",
Toast.LENGTH_SHORT).show();
}
});
FarrAdapter.add(btnNew); // btn添加到 FlistView01
Button btnDynamic = (Button)findViewById(R.id.btnDynamic);
btnDynamic.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View _v)
{
Button btnNew = new Button(MainActivity.this);
btnNew.setText("New2");
FarrAdapter.add(btnNew);
}
});
Button button1 = (Button)findViewById(R.id.button1);
button1.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View _v)
{
Button btnGet = (Button)FlistView01.getChildAt(0);
btnGet.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View _v)
{
Toast.makeText(
getApplication(),
((Button)_v).getText(),
Toast.LENGTH_SHORT).show();
}
});
}
});
} @Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}}
运行的状态如下图:我 button1 里面的代码可以设置 ListView里面的Button的点击事件,但是 FlistView01.getChildAt(0); 取得是 ListView显示出来的第一个Button,而非真正的ListView的第一个Button ...如何能将 ListView 里面的 所有Button(包括显示出来的和没显示出来的)的点击事件统统设置一遍 ???Android 菜鸟求教,请指点~~ !! 感谢 !!
任何代码、资料、链接皆可,再次感谢 !!
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.*;public class MainActivity extends Activity
{
ArrayList<Button> FarrlistBtns = null;
ArrayAdapter<Button> FarrAdapter = null;
ListView FlistView01 = null; @Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// ***
FarrlistBtns = new ArrayList<Button>();
FarrAdapter = new ArrayAdapter<Button>(MainActivity.this,
R.layout.listitem_btn, FarrlistBtns);
FlistView01 = (ListView)findViewById(R.id.listView01);
FlistView01.setAdapter(FarrAdapter); Button btnNew = new Button(MainActivity.this);
btnNew.setText("New1"); // 1、这个设置好像没用
btnNew.setOnClickListener(new Button.OnClickListener() // 2、这个设置好像没用
{
@Override
public void onClick(View _v)
{
Toast.makeText(
getApplication(),
"DDD",
Toast.LENGTH_SHORT).show();
}
});
FarrAdapter.add(btnNew); // btn添加到 FlistView01
Button btnDynamic = (Button)findViewById(R.id.btnDynamic);
btnDynamic.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View _v)
{
Button btnNew = new Button(MainActivity.this);
btnNew.setText("New2");
FarrAdapter.add(btnNew);
}
});
Button button1 = (Button)findViewById(R.id.button1);
button1.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View _v)
{
Button btnGet = (Button)FlistView01.getChildAt(0);
btnGet.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View _v)
{
Toast.makeText(
getApplication(),
((Button)_v).getText(),
Toast.LENGTH_SHORT).show();
}
});
}
});
} @Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}}
运行的状态如下图:我 button1 里面的代码可以设置 ListView里面的Button的点击事件,但是 FlistView01.getChildAt(0); 取得是 ListView显示出来的第一个Button,而非真正的ListView的第一个Button ...如何能将 ListView 里面的 所有Button(包括显示出来的和没显示出来的)的点击事件统统设置一遍 ???Android 菜鸟求教,请指点~~ !! 感谢 !!
任何代码、资料、链接皆可,再次感谢 !!
解决方案 »
- 新手做的android播放器,运行提示the appliction has stopped unexpectedly please try
- android开发版本选择
- android
- 找了一天的,还不能解决 android问题
- android 一键清理如何实现的(sip手机视频)
- android应用针对ANR错误,有好的解决方案吗?
- 有关生命周期的问题
- 好吧,我投降了,这个问题折磨了我一天啊!!!!!!
- android.view.ViewRoot$CalledFromWrong 这个异常怎么解决。。
- 个推的一个小问题
- 在html5中使用navigator.getUserMedia打开相机,要怎样进行关闭?
- 请问如何使用HTTPClient在多线程的情况下保证cookies各自独立?
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" > <Button
android:id="@+id/btnDynamic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="btnDynamic" /> <Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/btnDynamic"
android:text="button1" /> <ListView
android:id="@+id/listView01"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/btnDynamic" > </ListView></RelativeLayout>
R.layout.listitem_btn :<?xml version="1.0" encoding="utf-8"?>
<Button xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</Button>
convertView.setOnClickListener(new OnCLickListener(){ //
});
}
在网上也看到说“自定义Adapter 的 GetItem 然后用 ListView的getItenAtPosition” ,但是都不怎么明白...
有没有简单的 例子 或者 链接参考下啊???
{ private List<LoginReq> list = new ArrayList<LoginReq>(); private Context context; ViewHolder holder;
public AccountsAdapter(Context context,
List<LoginReq> list)
{
this.context = context; this.list = list; } @Override
public int getCount()
{
return list.size();
} @Override
public Object getItem(int position)
{
return list.get(position);
} @Override
public long getItemId(int position)
{
return position;
} @Override
public View getView(final int position, View convertView, ViewGroup parent)
{
holder = null;
if (convertView == null)
{
holder = new ViewHolder();
convertView = LayoutInflater.from(context).inflate(
R.layout.option_item, null);
holder.textView = (TextView) convertView
.findViewById(R.id.item_text);
holder.imageView = (ImageView) convertView
.findViewById(R.id.delImage);
holder.acountLayout = (RelativeLayout) convertView
.findViewById(R.id.account_rl);
convertView.setTag(holder);
} else
{
holder = (ViewHolder) convertView.getTag();
} holder.textView.setText(list.get(position).getName());
holder.textView.setOnClickListener(new View.OnClickListener()
{ @Override
public void onClick(View v)
{
}
});
holder.imageView.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
}
}); return convertView;
} private class ViewHolder
{
private TextView textView; private ImageView imageView; }