Android 开发的几个小问题

最近在做 Android 开发,刚刚入门,遇到不少问题,累积了做重构时的习惯,遇到问题,好好解决,好好总结,于是整理如下:

一. Eclipse Error

1.'Missing contentDescription attribute on image' in XML

原因:缺少图片描述,在 ADT 16 开始会抛出这个警告,确保开发者为图片添加内容描述。

解决方法:为图片添加 android:contentDescription="@string/desc" 属性。

2. Buttons in button bars should be borderless

原因:两个 Buttons 放在一个布局里会被判断为按钮栏,需要添加样式取消它的边框。

解决方法: 在 Buttons 上添加属性 style="?android:attr/buttonBarButtonStyle" 。系统提示也可以在按钮的父布局上添加 style="? android:attr/buttonBarStyle" 属性,但是我在线性布局上测试了一下无效,求高手指导!

二. 开发技巧

1. 在新打开的 Activity 中触发前一个 Activity 作出调整

例如:原页面相应的 class 为 Main.class (主要代码)

public class Main extends Activity {

	Button page;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		page = (Button) findViewById(R.id.open);

		page.setOnClickListener(new OnClickListener(){
			@Override
			public void onClick(View source) {
				Intent intent = new Intent(Main.this, NewPage.class);

				// 启动 intent 对应的 Activity ,并且等待其返回结果,其中 0 是标识码
				startActivityForResult(intent, 0);
			}
		});
	
	@Override
	public void onActivityResult(int requestCode, int resultCode, Intent intent){
		
		if( requestCode == 0 && resultCode == 0 ){ // 确认请求标识码和反馈结果标识码同为 0
			// 改变本页面或其他操作
		}
	}

}
public class NewPage extends Activity {

	Button cancel;

	Intent intent;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.newpage);
		
		// 获取到上一个页面传过来的 Intent
		intent = this.getIntent();

		cancel = (Button) findViewById(R.id.confirm);
		cancel.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View source) {
				// 反馈结果,将 intent 传回上一个 Activity ,这时在上一页触发 onActivityResult 方法,重写该方法可以对原页面作出调整
				NewPage.this.setResult(0, intent);
				NewPage.this.finish();
			}
		});

	}

}

如果需要在 Activity 之间传输数据,还可以使用 Bunble 在 intent 中保存和获取数据。

2. 获取列表中被点击事项的位置

扩展 BaseAdapter 类,重写 getView 方法,第一个方法即为事项的位置,若要配合 cursor 使用,则可以使用 cursor.moveToPosition(position) 把 cursor 移动到事项在数据库中相应的数据行。

本文由 Kayo Lee 发表,本文链接:http://kayosite.com/some-problems-of-android-development.html

评论列表

  • 评论者头像
    回复

    不懂得路过

  • 评论者头像
    回复

    没弄过Android,不知为何物,你是7号报道么?

    • 评论者头像
      回复

      @独自流浪 打酱油的玩了一下Android,发现跟写页面的逻辑挺像的!
      11号报道了,已经开工两天!

  • 评论者头像
    回复

    没做过手机开发,难吗? :wink:

    • 评论者头像
      回复

      @ilikecss 逻辑上跟写页面比较相似,只是玩一下的话感觉不是很难,挺有趣的!

  • 评论者头像
    回复

    我准备试试用Xamarin试试.Net写Android程序

  • 评论者头像
    回复

    Android原生的UI设计特别坑爹。。。你有用什么其他比较好的设计软件弄布局文件吗??

    • 评论者头像
      回复

      @Ruii 我之前是直接用官方的 adt-bundle去做 Android,同感觉布局很坑爹。最近打算试试 android studio,它其中一个卖点就是功能强大的布局编辑器,可以拖拉 UI 控件并进行效果预览,希望这个软件有助于控制布局啦!

  • 评论者头像
    回复

    好文章,内容才思敏捷.禁止此消息:nolinkok@163.com

  • 评论者头像
    回复

    包养网http://www.ememe.cc/forum.php 求包养网http://www.ememe.cc/forum.php
    外围女网站http://www.ememe.cc/forum.php 私人伴游http://www.ememe.cc/forum.php
    大学生求包养http://www.ememe.cc/forum.php 外围女招聘http://www.ememe.cc/forum.php
    外围女经纪人http://www.ememe.cc/forum.php 私人伴游招聘http://www.ememe.cc/forum.php

  • 评论者头像
    回复

    新西兰旅游http://www.zxdoors.net/ 新西兰旅游签证http://www.zxdoors.net/
    新西兰旅游价格http://www.zxdoors.net/ 新西兰旅游攻略http://www.zxdoors.net/
    去新西兰旅游http://www.zxdoors.net/ 新西兰定制旅游http://www.zxdoors.net/
    新西兰私人定制旅游http://www.zxdoors.net/ 新西兰私人导游http://www.zxdoors.net/

  • 评论者头像
    回复

    4000900928.com 027xueche.com npajj.com oa888888.com shairend.com hztqtarget.com
    maryisis.com mankewenhua.com eszczs.com lingyuanmudi123.com sisupxb.com
    zxlmm.com miaomujidi8.com 8090china.com tnbz39.com yiqtao.com annalochy.com
    bjmushang.com dtvtimes.com apsiwang123.com mm0871.com sgqishi.com q345gc.com
    hklypf.com lyjianbing.com you97tk.com deyuplas.com xizengrujiao.com 0746good.com
    sznhxx.com zyfrzs.com 71hacker.com tjlianzheng.com baijialexun.com handagangban.com
    gaopintool.com babiclub.com jnxzhm.com bjsssm.com zhujiulun.com 51cylp.com
    6334005.com gakf120.com tzfyjc.com agilesharp.com hiecisetools.com jinlaimai.com
    goodeebook.com u8cg.com kuqiao123.com rtxmm.com 86changfang.com istbbs.com
    kktiemo.com tsxdnkyy.com cctv0208.com m2so.com nnbaoyu.com 786220vb.com x64asm.com
    posuijizl.com 22sav.com cyuugagi.com qiancao47.com qijiejie8.com yangshaochao.com
    cqcrgg.com fzylmh.com rayenvironal.com rocwellcctv.com szlaining.com qinghuihb.com
    falanter.com hzhjjs.com xchled.com sdxhwfg.com

回复

你正在以游客身份访问网站,请输入你的昵称和 E-mail
:wink: :roll: :oops: :mrgreen: :idea: :cry: :?: :-| :-o :-P :-? :) :( 8-O