Android第一次app总结
16lz
2021-01-23
- 点击按钮弹出提示对话框:
在按钮监听器中的重载onClick方法里面直接
new AlertDialog.Builder(QuizActivity.this).setMessage("You Got A Score Of : "+s).setPositiveButton(R.string.sure, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { ; } }).show();
注意:这里不能用
AlertDialog.Builder builder=new AlertDialog.Builder(this,1);
会报错说不能在监听器中 这样用,我也不知道为啥( ⊙o⊙?)
- 保存状态saveInstanceState.xxx.(KEY,OBJECT),KEY是关键字,OBJECT是保存的对象,KEY是用于恢复OBJECT的,如 :
private short answers[]=new short[LENGTH];private static final String KEY_ANSWER="answer";saveInstanceState.putShortArray(KEY_ANSWER,answers);//保存answers数组if(savedInstanceState!=null) { answers=savedInstanceState.getShortArray(KEY_ANSWER); }//恢复answers数组,用于onCreate中或者onRestoreInstanceState()
- 保留小数
double d = 123.456NumberFormat nf = NumberFormat.getNumberInstance();// 保留1位小数nf.setMaximumFractionDigits(1); // 四舍五入RoundingMode.UPnf.setRoundingMode(RoundingMode.UP);System.out.println(nf.format(d));
- 设置app图标
Android→app →manifests→AndroidManifest.xml中修改Application中的icon为 自己的图片资源即可
-
只声明了一个变量如ArrayList
可以将其它返回值为ArrayListmQuestionBank; 的函数返回值赋给它,但是若是想使用ArrayList的add、addAll等方法则必须初始化,也就是必须将其实例化:ArrayList mQuesitonBank=new ArrayList ();之后才能使用。 - 想让某段 代码仅仅在某个Activity中执行一次,可设置一个全局变量标识并设置初始值,在oncreate中判断如果该变量仍然是初始值说明 该代码没有执行过,则执行并且改变标识变量值,即达到了让其仅执行一次的效果。
- ArrayList使用的一些坑:
- ArrayList默认创建的容量(size())是0,所以,如果 创建了一个空的ArrayList arr后,直接使用arr.set(int index,value)或者arr.get(int index)时会报数组越界错误,所以,如果仅仅想添加一个值,应该使用arr.add(int index,value),若想设定指定位置的值,则必须将arr初始化:例如,在onCreate中利用循环和一个容量值c,将arr前c个全部初始化为null:
int c=SOME_VALUE;for(int num=0;num
- ArrayList的add(int index,value )方法也有坑,先看看以下代码:
import java.util.ArrayList;class Untitled {public static void main(String[] args) {ArrayList
arr=new ArrayList ();arr.add(0,520);arr.add(1,250);arr.add(2,100);arr.add(0,520);arr.add(0,520);arr.add(0,520);for(int i=0;i 这儿只用了只在三个位置用了add,然而,输出结果 却是
520520520520250100
可以看到,后面3个语句在位置0处重复add了520, 结果这三个520没有把原先有值的0处替换掉,而是在0位置后面插入了进去,于是 位置1和2的值便被挤到了位置4和5。
-
在两个Activity: A_Activity、B_Activity之间传递一个ArrayList
时 使用 String NAME="SOME STRING";ArrayList
arraylist={....};//发送arraylistintent.putExtra(NAME,arraylist);//接收arraylistArrayList receive=(ArrayList )getIntent().getSerializableExtra(NAME); 但是最重要的一点是:ArrayList盛放的这些元素的类SOME_CLASS必须实现Serializable接口,即在定义SOME_CLASS时:
public class SOME_CLASS implements Serializable{ .....}
- RadioButton是放在RadioGroup 中的,当点击了某一个RadioButton后,就代表整个RadioGroup组 状态是已经被选过的了, 要想让其恢复成 没有被选过的 状态,应该使用RadioGroup.clearCheck(),而不 应该用RadioButton.setChecked(boolean)或者RadioButton.setSelected(boolean),那样只是让RadioButton的选中勾消失,而事实上它仍然是选中的。
- 设置某个控件的 颜色:
mTrueButton.setBackgroundColor(Color.parseColor("#8CF390"));
""中是改颜色的html代码
更多相关文章
- Android 第一行代码
- 2014.01.10 ——— android listview 记录和恢复位置
- Android NDK:JNI 数组的输入输出
- android 100行代码实现 仿苹果滑动选择器WheelView
- Android之图文混排 (二)源代码
- Android百度地图默认位置中心点设置
- 一段Android实现应用下载并自动安装apk包的代码
- Android用属性动画拖动view到任意位置