Android 开发中遇到的问题与解决方式
来源:互联网 发布:内存数据恢复软件 编辑:程序博客网 时间:2024/04/30 18:59
2)是不是复制的时候把android.R文件导入了,而没有把自己项目的R文件导入进来,所以删除android.R文件,重新导入一下cmmand+shift+o
2.LinearLayout中组件右对齐
在LinearLayout中,如果将其定位方向设为横向排列:android:orientation="horizontal",那么这个布局中的控件将自左向右排列。
但有时会有这样的情况:行的左边有两个控件的同时,行的右边也有一个控件。
我们可以将右边的控件放在另一个LinearLayout中,同时将其对齐方式设为右对齐:android:gravity="right",还有一点, 这个LinearLayout的宽度设为充满父控件: android:layout_width="fill_parent"。这样就行了。
<?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:background="@drawable/bg"
android:orientation="horizontal" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="左边1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="左边2" />
<!-- 将TextView包在另一个LinearLayout中
注意android:layout_width和android:gravity这两个属性
-->
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="right" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:text="右边" />
</LinearLayout>
</LinearLayout>
3.android Activity之间传递数据
Intent(今天遇到的问题就是传递的数据太大,B页面无法启动,也就是传递失败)
1)直接传递,intent.putExtra(key, value)
(2)通过bundle,intent.putExtras(bundle);
(1)这两种都要求传递的对象必须可序列化(Parcelable、Serializable)
(2)Parcelable实现相对复杂
(3)关于Parcelable和Serializable,官方说法:
Serializable: it's error prone and horribly slow. So in general: stay away from Serializable if possible.
也就是说和Parcelable相比,Seriaizable容易出错并且速度相当慢。
(4)通过intent传递数据是有大小限制滴,超过限制,要么抛异常,要么新的Activity启动失败,所以还是很严重的啊
// 单例
public static class DataHolder {
private List<DaliyProblemsModel> data;
public List<DaliyProblemsModel> getData() {return data;}
public void setData(List<DaliyProblemsModel> data) {this.data = data;}
private static final DataHolder holder = new DataHolder();
public static DataHolder getInstance() {return holder;}
}
A页面设置数据DataHolder.getInstance().setData(the_question_list);
B页面拿数据the_quesition_list = DataHolder.getInstance().getData();
4.android 监听HOME以及MEUN键
//注册广播
registerReceiver(mHomeKeyEventReceiver, new IntentFilter(
Intent.ACTION_CLOSE_SYSTEM_DIALOGS));
/**
* 监听是否点击了home键将客户端推到后台
*/
private BroadcastReceiver mHomeKeyEventReceiver = new BroadcastReceiver() {
String SYSTEM_REASON = "reason";
String SYSTEM_HOME_KEY = "homekey";
String SYSTEM_HOME_KEY_LONG = "recentapps";
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) {
String reason = intent.getStringExtra(SYSTEM_REASON);
if (TextUtils.equals(reason, SYSTEM_HOME_KEY)) {
if(isending){
showResult();
}
}else if(TextUtils.equals(reason, SYSTEM_HOME_KEY_LONG)){
//表示长按home键,显示最近使用的程序列表
if(isending){
dialog();
}
// showResult();
}
}
}
};
- Android 开发中遇到的问题与解决方式
- android 开发中遇到的问题及解决方式
- Android Studio NDK开发过程中遇到的问题与解决(一)
- android 开发中遇到的错误及解决方式(更新R.java文件不能自动更新问题)
- 怎么解决开发中遇到的问题
- scrapy中遇到的问题与解决
- 解决android中Asynctask遇到的问题
- Web开发中遇到的一些乱码及解决方式
- elasticsearch中遇到的一些问题以及解决方式
- 利用codeception过程中遇到的问题及解决方式
- Android开发中遇到的奇怪问题
- Android开发中遇到的问题
- android开发中遇到的一些问题
- Android开发中可能遇到的问题
- Android开发中经常遇到的问题
- Android 开发中遇到的问题收集
- android 开发中遇到的问题汇总
- Android开发过程中遇到的问题
- linux下telnet
- 【Hibernate3】(1)初识Hibernate
- POJ1050与最大连续子段和,最大子矩阵问题
- GIT 冲突的解决
- linux 查看Yum包安装的位置
- Android 开发中遇到的问题与解决方式
- java des加解密算法
- 减法变加法-计算机中的补码表示
- 读书笔记(二)
- 判断当前网络状态 显示网络小图标
- mac 安装node问题
- 背景渐变色(shape,gradient)-Andoird
- Gsoap搭建WebService服务的一个简单实现(windows)
- C/C++函数调用过程分析