Android开发,首次运行正常,以后运行不能显示图片和gallery
问题RT
首次运行的话界面上的内容都有显示,关闭程序后从启动器运行,所有的图片和gallery的view都不出现了,这个是为什么,应该怎么解决
注:没有报错,系统android4.1
[解决办法]
gallery是在哪初始化和加载图片数据的
[解决办法]
你至少给点代码才知道原因啊。。
[解决办法]
呃,好的,现在附上代码
这个是activity
package com.example.welshelf;
import controller.Controller;
import controller.WelCenWeekAdapter;
import controller.WelController;
import view.Carousel;
import view.WelCenterView;
import view.WelLeftView;
import view.WelRightView;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.util.Log;
import android.widget.Gallery;
import android.widget.ImageView;
import android.widget.Toast;
public class WelcomeActivity extends Activity {
private static final String TAG="WelcomeActivity";
private WelCenterView center;
private WelRightView right;
private WelLeftView left;
private Carousel carousel;
private Context mContext;
private WelController cenController;
public static int cur_screen = 1;
private void log(String msg){
Log.e(TAG, msg);
}
public void onCreate(Bundle savedInstanceState) {
mContext = this;
super.onCreate(savedInstanceState);
carousel = new Carousel(mContext);
center = new WelCenterView(mContext);
center.addViews();
right = new WelRightView(mContext);
right.addViews();
left = new WelLeftView(mContext);
left.addViews();
carousel.addView(left);
carousel.addView(center);
carousel.addView(right);
setContentView(carousel);
toast("on create");
}
protected void onStart() {
toast("on start");
super.onStart();
cenController = WelController.getInstance(center, mContext);
carousel.setCurrentScreenIndex(cur_screen);
cenController.init();
}
private void toast(String msg){
Toast.makeText(mContext, msg, Toast.LENGTH_SHORT).show();
}
}
[解决办法]
Controller
package controller;
import java.util.Date;
import com.example.welshelf.R;
import view.WelCenterView;
import model.CourseModel;
import model.Model;
import android.content.Context;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.Gallery;
import android.widget.ImageView;
/*
* Singleton pattern
*/
public class WelController implements Controller {
private static WelController instance;
private WelCenterView mView;
private Model mModel;
private Context mContext;
private static int dateSelect;
private CourseModel[] courses;
protected int weekno=10;
public static int getDateSelect(){
return dateSelect;
}
private WelController(View view, Context context) {
mView = (WelCenterView) view;
mContext = context;
dateSelect = new Date().getDay();
}
public static WelController getInstance(View view, Context context) {
instance = instance == null ? new WelController(view, context) : instance;
return instance;
}
public void init() {
bindData();
}
public View getView() {
return mView;
}
public Controller getController() {
return this;
}
public Model getModel() {
return mModel;
}
private void bindData() {
int index = mView.BOOK;
ImageView book = (ImageView) mView.getChildAt(index);
book.setImageResource(R.drawable.ic_launcher);
final Gallery course;
final Gallery week;
index = mView.COURSE;
course = (Gallery)mView.getChildAt(index);
course.setAdapter(new WelCenCourseAdapter(mContext));
index = mView.WEEK;
week = (Gallery)mView.getChildAt(index);
week.setAdapter(new WelCenWeekAdapter(mContext));
week.setSelection(dateSelect);
week.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
dateSelect = arg2;
WelCenCourseAdapter adapter = (WelCenCourseAdapter) course.getAdapter();
adapter.notifyDataSetChanged();
loadCourse(dateSelect, weekno);
int index = mView.BOOK;
ImageView book = (ImageView) mView.getChildAt(index);
book.setImageResource(R.drawable.ic_launcher);
}
public void onNothingSelected(AdapterView<?> arg0) {
}
});
}
protected void loadCourse(int weekday, int weekno) {
}
}
[解决办法]
从oncreate和onstart进入
主要由binddata来进行显示