activity更新另一个activityUI方法(一)
来源:互联网 发布:淘宝商品名称字数限制 编辑:程序博客网 时间:2024/06/05 11:13
关于activity更新另一个activityUI的方法,我查了很多资料,总结起来,常用的有两种方法:1、handler更新。2、广播更新UI。
关于广播更新的方法:
1、第一个activity中:
package com.example.upanotheracyui;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.content.IntentFilter;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.Button;import android.widget.RelativeLayout;import android.widget.TextView;import butterknife.Bind;import butterknife.ButterKnife;public class MainActivity extends AppCompatActivity { @Bind(R.id.tv_text) TextView tvText; @Bind(R.id.btn) Button btn; @Bind(R.id.activity_main) RelativeLayout activityMain; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ButterKnife.bind(this); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent i = new Intent(MainActivity.this, SecActivity.class); startActivity(i); } }); IntentFilter filter = new IntentFilter(SecActivity.action); registerReceiver(broadcastReceiver, filter); } BroadcastReceiver broadcastReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { tvText.setText(intent.getExtras().getString("data")); } }; protected void onDestroy() { unregisterReceiver(broadcastReceiver); }}
该activity对应的布局activity_main.xml:
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" 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:background="@color/colorPrimaryDark" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.upanotheracyui.MainActivity"> <TextView android:id="@+id/tv_text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#ffffff" android:textSize="16sp" android:text="hello world!" /> <Button android:id="@+id/btn" android:layout_width="wrap_content" android:textColor="#ffffff" android:layout_height="wrap_content" android:background="@color/colorAccent" android:padding="10dp" android:layout_marginTop="50dp" android:textSize="18sp" android:text="跳转activity" /></RelativeLayout>
2、另一个activity代码:
package com.example.upanotheracyui;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.Button;import butterknife.Bind;import butterknife.ButterKnife;/** * Created by Administrator on 2016/12/2 0002. */public class SecActivity extends Activity { @Bind(R.id.btn_two) Button btnTwo; public static final String action = "com.example.upanotheracyui.action"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_sec); ButterKnife.bind(this); btnTwo.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //更新第一个activity的ui Intent intent = new Intent(action); intent.putExtra("data", "跳转界面——" + Math.random()); sendBroadcast(intent);// finish(); } }); }}
该activity对应的布局文件 activity_sec.xml:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/colorPrimaryDark" android:orientation="vertical"> <TextView android:layout_marginTop="10dp" android:id="@+id/two_txt" android:textColor="#ffffff" android:textSize="16sp" android:padding="10dp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="hello_world" /> <Button android:id="@+id/btn_two" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="50dp" android:textSize="18sp" android:layout_gravity="center_horizontal" android:padding="10dp" android:background="#FFFFFF" android:text="更新1tv" /></LinearLayout>
测试后,正常运行。
文件下载地址:
http://download.csdn.net/detail/liyihan333/9700185
1 0
- activity更新另一个activityUI方法(一)
- 一个activity控制另一个activityUI更新(利用broadcast广播机制)
- 如何在一个Activity更新另一个Activity的UI(发送广播的方法)
- Activity中关闭另一个Activity方法汇总
- android 一个activity定时更新另一个activity的UI
- 在一个Activity里更新另一个Activity UI
- 在一个Activity中启另一个Activity的方法
- Android 一个Activity调用另一个Activity中的公有方法
- 一个Activity调用另一个Activity的非静态方法
- Activity使用另一个Activity中的方法与变量
- 一个activity切换到另一个activity的几种方法
- 更新Activity的几个方法
- Activity打开另一个Activity
- Android开发(一、初窥安卓--5.启动另一个 Activity)
- android开发之在activity中控制另一个activity的UI更新
- 三种方式实现在一个Activity中控制另一个Activity的UI的更新
- Activity和Fragment的五种交互方式(Activity可以改变Fragment的UI,Fragment也可以改变ActivityUI)
- android 利用startActivityForResult()方法得到另一个Activity的返回值
- JS导出excel、doc、png、pdf 、xml、json、sql、txt、powerpoint、csv
- AD使用总结--2__PCB中各层作用详解
- Realm的一些特性介绍
- yii2 save方法只保存置顶列的参数
- 标识识别的注意点、dll缺失文件下载网站
- activity更新另一个activityUI方法(一)
- service起步操作
- 线性布局下最左/右问题
- 初学《 NotificationBar》
- win7下 Windows Process Activation Service 服务导致的 iis无法启动的解决方法
- Linux内核Socket CAN中文文档
- 今天刚刚认真区别了一下两个文件读写方式
- UFLDL Exercise: Softmax Regression
- 利用Freemarker生成doc文件(包含list循环,ifelse判断,合并单元格,嵌入表格单元格字数过多报错等)