所以即时通讯使用来自android sampels 2,0,1的滑动动画但是当我切换UI时我也不想开始使用同样的新类/ java文件,这是什么我有托盘
ViewFlipper vf = (ViewFlipper) findViewById(R.id.details);
// Set an animation from res/anim: I pick push left in
vf.setAnimation(AnimationUtils.loadAnimation(view.getContext(), R.anim.push_left_in));
vf.showNext();
startActivity(i);
但是它有一个空点异常
01-06 00:20:21.373:E / AndroidRuntime(2982):致命异常:主要 01-06 00:20:21.373:E / AndroidRuntime(2982):java.lang.RuntimeException:无法启动活动ComponentInfo {simon.vestergaard.note.calender / simon.vestergaard.note.calender.NoteSelector}:java.lang 。空指针异常 01-06 00:20:21.373:E / AndroidRuntime(2982):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1955) 01-06 00:20:21.373:E / AndroidRuntime(2982):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1980) 01-06 00:20:21.373:E / AndroidRuntime(2982):在android.app.ActivityThread.access $ 600(ActivityThread.java:122) 01-06 00:20:21.373:E / AndroidRuntime(2982):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1146) 01-06 00:20:21.373:E / AndroidRuntime(2982):在android.os.Handler.dispatchMessage(Handler.java:99) 01-06 00:20:21.373:E / AndroidRuntime(2982):在android.os.Looper.loop(Looper.java:137) 01-06 00:20:21.373:E / AndroidRuntime(2982):在android.app.ActivityThread.main(ActivityThread.java:4340) 01-06 00:20:21.373:E / AndroidRuntime(2982):at java.lang.reflect.Method.invokeNative(Native Method) 01-06 00:20:21.373:E / AndroidRuntime(2982):at java.lang.reflect.Method.invoke(Method.java:511) 01-06 00:20:21.373:E / AndroidRuntime(2982):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:784) 01-06 00:20:21.373:E / AndroidRuntime(2982):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 01-06 00:20:21.373:E / AndroidRuntime(2982):at dalvik.system.NativeStart.main(Native Method) 01-06 00:20:21.373:E / AndroidRuntime(2982):引起:java.lang.NullPointerException 01-06 00:20:21.373:E / AndroidRuntime(2982):at simon.vestergaard.note.calender.NoteSelector.initilize(NoteSelector.java:65) 01-06 00:20:21.373:E / AndroidRuntime(2982):at simon.vestergaard.note.calender.NoteSelector.onCreate(NoteSelector.java:53) 01-06 00:20:21.373:E / AndroidRuntime(2982):在android.app.Activity.performCreate(Activity.java:4465) 01-06 00:20:21.373:E / AndroidRuntime(2982):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049) 01-06 00:20:21.373:E / AndroidRuntime(2982):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1919) 01-06 00:20:21.373:E / AndroidRuntime(2982):... 11 more
这是我的oncreate
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
// setContentView(R.layout.noteselectorscreen);
initilize();
}
private void initilize() {
// TODO Auto-generated method stub
Bback =(Button)findViewById(R.id.Bback);
Bnew =(Button)findViewById(R.id.Bnew);
LMain =(ListView) findViewById(R.id.LnoteSelector);
tCatagoryName=(TextView)findViewById(R.id.TcatagoryName);
TVtopText =(TextView)findViewById(R.id.TVtopText);
Bback.setOnClickListener(this);
Bnew.setOnClickListener(this);
LMain.setOnItemClickListener(this);
aa = new FancyAdapter();
LMain.setAdapter(aa);
FillListDataWithData();
String caragorynameHeader =mainClass.getSelectedCategory();
tCatagoryName.setText(""+caragorynameHeader);
TVtopText.setText(R.string.app_name);
}
该应用正在使用Bback.setOnClickListener(this)创建第65行; 我怎么能做这个工作?所以我也在使用活动类/正在使用的那个?
答案 0 :(得分:1)
如果我正确理解您的问题,您希望在两个不同的活动之间制作动画,那么您不应该使用ViewFlipper。 ViewFlipper用于同一个Activity中的2个不同视图。
你应该使用
startActivity(intent);
overridePendingTransition(int enterAnim, int exitAnim);
这将从第一个Activity动画到第二个Activity,如果你希望动画回到第二个Activity的第一个Activity,那么你需要覆盖第二个Activity中的后退按钮。
@Override
public void onBackPressed(){
finish();
overridePendingTransition(int enterAnim, int exitAnim);
}
对于空指针,您发布的代码显示
// setContentView(R.layout.noteselectorscreen);
您需要取消注释此行,而不调用setContentView(layoutID)
,使用findViewById(layoutID)
将返回null,这就是Bback
为空的原因。