linearlayout事件 点击事件求各位支持啊,怎么弄

请问XUtils网络请求支持Android5.0吗? - 开源中国社区
当前访客身份:游客 [
当前位置:
请问XUtils网络请求支持Android5.0吗?
共有3个回答
<span class="a_vote_num" id="a_vote_num_
--- 共有 2 条评论 ---
KJFrameForAndroid
(2年前)&nbsp&
那怎么办??
(2年前)&nbsp&
<span class="a_vote_num" id="a_vote_num_
Are you sure ?
<span class="a_vote_num" id="a_vote_num_
张涛OSC这个人的KJ框架很烂,很多东西没实现,各种BUG。大家千万别用
更多开发者职位上
有什么技术问题吗?
ETjr的其它问题
类似的话题android listview长按,单击各种事件捕捉
之前一直想总结一下这样知识,后面各种忙,就不想写。还是自已总结一下比较好。listview需要注意事项有很多吧,也是最常用的控件之一。我们可以自动计算listview的高度,当与滚动条一起使用的时候。listview分隔线也可以去掉,或者更改。还有与各种控件一起使用的监听。接下来看看我所介绍的以及效果图。
一、看项目主要类
package com.example.
import java.util.ArrayL
import java.util.L
import android.os.B
import android.app.A
import android.content.C
import android.view.LayoutI
import android.view.V
import android.view.ViewG
import android.view.View.OnClickL
import android.widget.AdapterV
import android.widget.AdapterView.OnItemLongClickL
import android.widget.BaseA
import android.widget.B
import android.widget.CheckB
import poundB
import android.widget.LinearL
import android.widget.ListA
import android.widget.ListV
import android.widget.TextV
import poundButton.OnCheckedChangeL
import android.widget.T
public class CustomListviewActivity extends Activity implements
OnClickListener, OnItemLongClickListener {
private ListView myListV
private MyCustomListViewAdapter mCustomListViewA
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_custom_listview);
myListView = (ListView) findViewById(R.id.listView1);
mCustomListViewAdapter = new MyCustomListViewAdapter(
getApplicationContext());
myListView.setOnItemLongClickListener(this); // 长按item监听
myListView.setAdapter(mCustomListViewAdapter);
setListViewHeightBasedOnChildren(myListView); // listview自动计算高度
Button button = (Button) findViewById(R.id.button1);
button.setOnClickListener(this);
// listview自动计算高度
private void setListViewHeightBasedOnChildren(ListView listView) {
// 获取ListView对应的Adapter
ListAdapter listAdapter = listView.getAdapter();
if (listAdapter == null) {
int totalHeight = 0;
for (int i = 0, len = listAdapter.getCount(); i & i++) {
View listItem = listAdapter.getView(i, null, listView);
listItem.measure(0, 0); // 计算子项View 的宽高
totalHeight += listItem.getMeasuredHeight(); // 统计所有子项的总高度
ViewGroup.LayoutParams params = listView.getLayoutParams();
params.height = totalHeight
+ (listView.getDividerHeight() * (listAdapter.getCount() - 1));
listView.setLayoutParams(params);
public List getDataSource() {
ArrayList list = new ArrayList();
list.add(北京);
list.add(上海);
list.add(广州);
list.add(南京);
list.add(苏州);
list.add(江苏);
list.add(杭州);
list.add(乌镇);
list.add(丽江);
list.add(大理);
list.add(昆明);
list.add(哈尔滨);
public class MyCustomListViewAdapter extends BaseAdapter implements
OnCheckedChangeListener, OnClickListener {
private Context mC
private LayoutInflater mLayoutI
public MyCustomListViewAdapter(Context context) {
mContext =
mLayoutInflater = (LayoutInflater) mContext
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
public int getCount() {
return getDataSource().size();
public Object getItem(int position) {
public long getItemId(int arg0) {
public View getView(int position, View arg1, ViewGroup arg2) {
LinearLayout linearLayout = (LinearLayout) mLayoutInflater.inflate(
R.layout.layout_custom_checkbox_item, null);
linearLayout.setOnClickListener(this);
linearLayout.setTag(position);
TextView titleTextView = (TextView) linearLayout
.findViewById(R.id.textView1);
if (titleTextView != null)
titleTextView.setText(getDataSource().get(position));
// 控件 是否选中
CheckBox selectedCheckBox = (CheckBox) linearLayout
.findViewById(R.id.checkBox1);
selectedCheckBox.setOnCheckedChangeListener(this);
return linearL
public void onCheckedChanged(CompoundButton arg0, boolean arg1) {
Integer nPosition = (Integer) (arg0.getTag());
Toast.makeText(getApplication(), CheckBox选中事件:,
Toast.LENGTH_SHORT).show();
public void onClick(View arg0) {
// 单击事件响应
int position = ((Integer) arg0.getTag()).intValue();
Toast.makeText(getApplication(),
listview单击事件: + getDataSource().get(position),
Toast.LENGTH_SHORT).show();
public boolean onItemLongClick(AdapterView arg0, View arg1, int arg2,
long arg3) {
Toast.makeText(getApplicationContext(), listview长按事件:,
Toast.LENGTH_SHORT).show();
public void onClick(View arg0) {
if (arg0.getId() == R.id.button1) {
Toast.makeText(getApplicationContext(), button事件:,
Toast.LENGTH_SHORT).show();
大家都知道,listview是可以自已滚动的,但也可以禁止滚动。可能你不需要它滚动。只需要滚动条滚动。我就是遇到过这种需求,listview与滚动条一起使用情况。代码上也有所说明了。
二、下面看看xml
这里的xml还用到浮动的FrameLayout,用来显示button键。
三、下面来看看listview的item的xml
这里说明一下,LinearLayout里需要这两句。分别是listview单击和长按的设置。
android:longClickable=true
android:clickable=true
四、接下来看看效果图:
五、最后补充一下,去掉listview分隔线或者设置。
去掉分隔线有三种方法:
1、myListView.setDividerHeight(0);
2、myListView.setDivider(null);
3、XML布局文件中设置ListView的属性android:divider=#FFCC00或者android:divider=@null
设置或者换一个好看的自动的分隔线也行
android:divider=@drawable/skin_line
到这里就结束了,本文中讲的都是监听以及布局,关于listview以及滚动条,checkbox,buuton一起使用。
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467142',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'LinearLayout嵌套Button时的点击事件,该如何解决_读书人
LinearLayout嵌套Button时的点击事件,该如何解决
&来源:读书人网&【读书人网():综合教育门户网站】
LinearLayout嵌套Button时的点击事件LinearLayout android:descendantFocusabilityblocksDescendants
LinearLayout嵌套Button时的点击事件&LinearLayout android:descendantFocusability=&blocksDescendants&& & &Button android:background=&@layout/selector& &&/LinearLayout&Button通过设置android:background使得点击时变换背景颜色但如何实现点击LinearLayout时会触发Button的onClick(就是Button的背景颜色也会变化)[解决办法]觉得你这联动不能用selector,考虑考虑设计上吧[解决办法]别用selector,在代码中添加ontouch事件试一下[解决办法]为什么不换个思路呢? 把按钮做大一点,不需要方法图片,只是在图片周围留白[解决办法]其实你的思路太局限了,imageView和button都是View,大家都有同样的基类,那干嘛一定要用button呢,而且也根本没必要去监听button的OnClick。你把Button换成imageView(不换也可以,但是可扩展性不好),然后LinearLayout和imageView都做一个selector,给LinearLayout做一个OnClick监听,绑定在xml里就行了,然后监听里加一行你的LinearLayout.setSelected(true)就可以了[解决办法]Button换成View然后只要给LinearLayout写onClick事件就可以了[解决办法]你是不是LinearLayout的Clickable没有设置为true啊或者写onTeachlistener也可以Android按钮获取点击事件
以下为本篇文章全部内容:
熟悉js的朋友都知道在js里面获取事件是一个很常用的功能,在安卓里面同样也是一样的,今天给大家带来的文章就是通过按钮来获取点击事件,文章将给大家介绍获取点击事件的三种方法方法一:通过匿名内部类获取点击事件方法二:通过独立类获取点击事件方法三:通过继承点击接口获取点击事件我先把xml代码和布局代码先放上来strings.xml&?xml&version=&1.0&&encoding=&utf-8&?&
&resources&
&&&&&string&name=&app_name&&sphynx&/string&
&&&&&string&name=&hello_world&&Hello&world!&/string&
&&&&&string&name=&action_settings&&Settings&/string&
&string&name=&button1&&匿名内部类&/string&
&string&name=&button2&&独立类&/string&
&string&name=&button3&&接口实现1&/string&
&string&name=&button4&&接口实现2&/string&
&/resources&布局的样式:一般布局文件使用到的字符串都存放在这里,所以我们就把布局文件的字符串放这里了,在布局文件的xml代码中通过android:text=&@string/button1&来调用,这样就说明调用匿名内部类的这个字符串,代码中的button1与name的值相等。activity_main.xml&LinearLayout&xmlns:android=&/apk/res/android&
&&&&xmlns:tools=&/tools&
&&&&android:layout_width=&match_parent&
&&&&android:layout_height=&match_parent&
&&&&android:orientation=&vertical&
&&&&tools:context=&com.example.sphynx.MainActivity&&&
&&&&android:id=&@+id/button1&
&&&&android:layout_width=&match_parent&
&&&&android:layout_height=&wrap_content&
&&&&android:text=&@string/button1&
&&&&android:id=&@+id/button2&
&&&&android:layout_width=&match_parent&
&&&&android:layout_height=&wrap_content&
&&&&android:text=&@string/button2&
&&&&android:id=&@+id/button3&
&&&&android:layout_width=&match_parent&
&&&&android:layout_height=&wrap_content&
&&&&android:text=&@string/button3&
&&&&android:id=&@+id/button4&
&&&&android:layout_width=&match_parent&
&&&&android:layout_height=&wrap_content&
&&&&android:text=&@string/button4&
&TextView&
&&&&android:id=&@+id/textview&
&&&&android:layout_width=&match_parent&
&&&&android:layout_height=&wrap_content&
&&&&android:textSize=&28dp&
&/LinearLayout&布局文件我就不做过多的解释,需要注意的是android:text=&@string/button1&是调用strings.xml里面设置的字符串java代码package&com.example.
import&android.app.A
import&android.os.B
import&android.view.V
import&android.view.View.OnClickL
import&android.widget.B
import&android.widget.TextV
public&class&MainActivity&extends&Activity&implements&OnClickListener{
//创建存储获取控件的变量
private&Button&button1,button2,button3,button4;
private&TextView&
protected&void&onCreate(Bundle&savedInstanceState)&{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);//加载XML布局文件,创建视图
button1&=&(Button)&findViewById(R.id.button1);//通过id获取按钮1
button2&=&(Button)&findViewById(R.id.button2);//通过id获取按钮2
button3&=&(Button)&findViewById(R.id.button3);//通过id获取按钮3
button4&=&(Button)&findViewById(R.id.button4);//通过id获取按钮4
textview&=&(TextView)&findViewById(R.id.textview);//通过id获取文本框
//给第一个按钮使用匿名内部类实现获取点击事件
button1.setOnClickListener(new&OnClickListener()&{
//重载OnClickListener的onClick方法
public&void&onClick(View&v)&{
//给文本框重新赋值
textview.setText(&匿名内部类&);
//使用独立类实现获取点击事件
OnClickListener&listener&=&new&OnClickListener()&{
//重载OnClickListener的onClick方法
public&void&onClick(View&v)&{
//给文本框重新赋值
textview.setText(&独立类&);
//按钮2调用setOnClickListener方法实现点击事件
button2.setOnClickListener(listener);
//通过继承接口获取点击事件
button3.setOnClickListener(this);
button4.setOnClickListener(this);
//通过继承OnClickListener接口实现获取点击事件
public&void&onClick(View&v)&{
//这里可以判断点击的是哪个对象,通过v对象的getId()方法获取当前点击对象的id
switch&(v.getId())&{
case&R.id.button3:
textview.setText(&接口实现1&);
case&R.id.button4:
textview.setText(&接口实现2&);
}点击不同按钮的不同效果:我相信我的注释应该大家能看明白吧,对于代码问题大家可以加我QQ或者其他方式联系我,对于本站的文章,绝对原创,哪里不好的地方希望大家多多指出来,共同进步,禁止copy本站文章,请尊重作者用心良苦,同样让大家搜索到更高质量的文章,不要百度千遍一律的垃圾文章,谢谢大家的支持。
听说点赞是一种美德

我要回帖

更多关于 linearlayout滑动事件 的文章

 

随机推荐