<pre name="code" class="html"><pre name="code" class="html">最近做项目遇到一个跑马灯的效果,刚开始怎么写代码他都不跑,如下:
<LinearLayout>
<TextView
android:id="@+id/mingzi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.91"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:gravity="center"
android:marqueeRepeatLimit="marquee_forever"
android:singleLine="true"
android:text="活着的意义就是要做一个对社会有意义的人。活着的意义就是要做一个对社会有意义的人。"
android:textColor="#000000" />
</LinearLayout>
就是一个跑马灯完整的效果,最后索性没再弄他,等做另个模块的时候,就把这个xml文件给复制了一下,神奇的事情出现了,跑马灯居然跑了,我xml文件根本就没动,然后就仔细研究了一下,是我调用xml文件的时候出了问题
如下代码:(错误的,这样调用没有跑马灯效果)
public void gotoWeiYuanGongZuoShi(){
setContentView(R.layout.weiyuangongzuoshi);
}
这个就是第一次调用的时候,跑马灯在weiyuangongzuoshi.xml里面,gotoWeiYuanGongZuoShi()在
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
//setContentView(R.layout.bosstrackingsactivity);
//添加假数据(省政协委员)
setContentView(R.layout.wogaunzhudeweiyuan);
parentListView = (ListView) findViewById(R.id.woshoutingdeweiyuan);
data = getData();
SimpleAdapter adapter = new SimpleAdapter(this, data,
R.layout.shengzhengxie_item,
new String[] { "shengzhengxie_item","shengzhengxie_image"
}, new int[] { R.id.shengzhengxie_item,R.id.shengzhengxie_image });
parentListView.setAdapter(adapter);
//点击我收听的委员可以跳转到委员工作室
parentListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
gotoWeiYuanGongZuoShi(); //这里调用
}
});
以上是没有效果的跑马灯,不再赘述,下面看正确的调用方式:
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.weiyuangongzuoshi);
}
就象这样,在新开的一个activity 的onCreate()方法里面加载你的跑马灯,在运行下看看,你的跑马灯是不是神奇的动了起来!!
哈哈,跑马灯没效果原因会有很多,这就是本小菜遇到的其中之一,更多的还望大家互相探讨,欢迎留言。