【发布时间】:2011-09-01 13:59:33
【问题描述】:
我必须遵循代码来选择按钮单击时的布局。
View.OnClickListener handler = new View.OnClickListener(){
public void onClick(View v) {
switch (v.getId()) {
case R.id.DownloadView:
// doStuff
setContentView(R.layout.main);
break;
case R.id.AppView:
// doStuff
setContentView(R.layout.app);
break;
}
}
};
findViewById(R.id.DownloadView).setOnClickListener(handler);
findViewById(R.id.AppView).setOnClickListener(handler);
当我点击“AppView”按钮时,布局会发生变化,但是当我点击“DownloadView”按钮时,什么也没有发生。
This link 说我要开始新的活动了。
但是我不知道如何使用那里的代码来启动新的活动,是否会添加一个新文件?
编辑: 我有关于新活动的代码:
package com.example.engagiasync;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView;
public class AppView extends Activity implements OnClickListener{
@Override
public void onCreate(Bundle savedInstanceState){
setContentView(R.layout.app);
TextView tv = (TextView) this.findViewById(R.id.thetext);
tv.setText("App View yo!?\n");
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
}
但它不起作用,它强制关闭,logcat 说:
【问题讨论】:
-
在两个布局中检查您的按钮 ID..
-
第一种布局中的按钮id与第二种布局相同时是否禁止?
-
不,应该没问题,只要它在每个布局文件中只出现一次即可。
-
是的,它在我的每个布局文件中只出现一次。
标签: java android android-intent android-activity