易网时代-编程资源站
Welcome
微信登录
编程资源
图片资源库
蚂蚁家优选
PDF转换器
首页
/
操作系统
/
Linux
/
Android四种监听方法
//main.xml文件
<?xml
version
=
"1.0"
encoding
=
"utf-8"
?>
<LinearLayout
xmlns:Android
=
"http://schemas.android.com/apk/res/android"
android:layout_width
=
"fill_parent"
android:layout_height
=
"fill_parent"
android:orientation
=
"vertical"
>
<TextView
android:layout_width
=
"fill_parent"
android:layout_height
=
"wrap_content"
android:text
=
"@string/title"
/>
<EditText
android:id
=
"@+id/myedittext"
android:layout_width
=
"fill_parent"
android:layout_height
=
"wrap_content"
android:numeric
=
"integer"
/>
<Button
android:id
=
"@+id/mybutton1"
android:layout_width
=
"200dip"
android:layout_height
=
"wrap_content"
android:text
=
"@string/callout1"
/>
<Button
android:id
=
"@+id/mybutton2"
android:layout_width
=
"200dip"
android:layout_height
=
"wrap_content"
android:text
=
"@string/callout2"
/>
<Button
android:id
=
"@+id/mybutton3"
android:layout_width
=
"200dip"
android:layout_height
=
"wrap_content"
android:text
=
"@string/callout3"
/>
<Button
android:id
=
"@+id/mybutton4"
android:layout_width
=
"200dip"
android:layout_height
=
"wrap_content"
android:text
=
"@string/callout4"
/>
</LinearLayout>
------------------------------------------------------------------------------------------//strings.xml文件
<?xml
version
=
"1.0"
encoding
=
"utf-8"
?>
<resources>
<string
name
=
"title"
>
Android Call phone Application
</string>
<string
name
=
"app_name"
>
复习打出电话
</string>
<string
name
=
"callout1"
>
拨打1
</string>
<string
name
=
"callout2"
>
拨打2
</string>
<string
name
=
"callout3"
>
拨打3
</string>
<string
name
=
"callout4"
>
拨打4
</string>
</resources>
------------------------------------------------------------------------------------------
//CallPhone2Activity.java 文件
package
sn.len.callphone;
import
android.app.Activity;
import
android.os.Bundle;
import
android.util.Log;
import
android.view.View;
import
android.view.View.OnClickListener;
import
android.widget.Button;
public
class
CallPhone2Activity
extends
Activity
implements
OnClickListener
{
@Override
public
void
onCreate(Bundle savedInstanceState)
{
super
.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button1=(Button)findViewById(R.id.mybutton1);
Button button2=(Button)findViewById(R.id.mybutton2);
Button button3=(Button)findViewById(R.id.mybutton3);
Button button4=(Button)findViewById(R.id.mybutton4);
//注册监听
button1.setOnClickListener(
this
);
button2.setOnClickListener(
new
Button2Listener());
//方法三,匿名内部类实现事件监听器接口
//匿名内部类实现事件监听器 常用,如上同button2
button3.setOnClickListener
(
new
View.OnClickListener()
{
@Override
public
void
onClick(View v)
{
Log.e(
"方法三"
,
"匿名内部类实现事件监听器接口 "
);
}
}
);
//方法四,外部类实现事件监听器接口,很少用
button4.setOnClickListener(
new
callOut(
this
));
}
//方法一,自身实现监听器接口
//自身类实现事件监听器接口 对于同一下XXXListener callback只能有一个实现
@Override
public
void
onClick(View v)
{
// TODO Auto-generated method stub
Log.e(
"方法一"
,
"自己实现监听"
);
}
//方法二,内部类实现事件监听接口
//内部类实现事件监听器 常用,可以方便的访问其外围类的任意成员,一个内部类在此也可以代表解决问题的一个操作
class
Button2Listener
implements
OnClickListener
{
@Override
public
void
onClick(View v)
{
// TODO Auto-generated method stub
Log.e(
"方法二"
,
"内部类实现事件监听接口"
);
}
}
}
备注:最常用为第二种和第三种。------------------------------------------------------------------------------------------
//callOut.java 文件 -->第四种???法,外部类
package
sn.len.callphone;
import
android.app.Activity;
import
android.util.Log;
import
android.view.View;
import
android.view.View.OnClickListener;
public
class
callOut
implements
OnClickListener
{
private
Activity activity;
public
callOut(Activity activity)
{
this
.activity=activity;
}
@Override
public
void
onClick(View v)
{
//找ID
//TextView textView = (TextView) activity.findViewById(R.id.resultView);
Log.e(
"方法四"
,
"外部类实现事件监听器接口 "
);
}
}
------------------------------------------------------------------------------------------
//效果
收藏该网址
版权所有©石家庄振强科技有限公司2024
冀ICP备08103738号-5
网站地图