Android 重新加载后,ListView将消失
我有3个arraylist,它们组合在一起显示在listview中。We当我点击生成listview时,它第一次工作正常,但当我回击并再次点击按钮时,listview没有显示任何内容。不知道是什么原因造成的。我查看了其他帖子,但找不到答案。我对Arraylist不是很好,所以任何细节都将不胜感激 我在Log cat中也注意到了这条消息。我不知道这是什么意思 调用了onVisibilityChanged(),可见性:0Android 重新加载后,ListView将消失,android,listview,arraylist,Android,Listview,Arraylist,我有3个arraylist,它们组合在一起显示在listview中。We当我点击生成listview时,它第一次工作正常,但当我回击并再次点击按钮时,listview没有显示任何内容。不知道是什么原因造成的。我查看了其他帖子,但找不到答案。我对Arraylist不是很好,所以任何细节都将不胜感激 我在Log cat中也注意到了这条消息。我不知道这是什么意思 调用了onVisibilityChanged(),可见性:0 public class Edit extends Activity impl
public class Edit extends Activity implements OnItemClickListener {
private int pic;
public String filename ="User Info";
//Declaring SHareddPreference as userprofile
static SharedPreferences userprofile;
ListView listView;
List<RowItem> rowItems;
// String[] titles, descriptions;
File imgpath=null;
Context context=this;
CustomListAdapter adapter;
private List<String> Titles = new ArrayList<String>();
private List<String> Actions = new ArrayList<String>();
private List<Bitmap> Images = new ArrayList<Bitmap>();
int x;
int y=1;
int z=1;
static int a=1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.aname);
listView = (ListView)findViewById(R.id.listing);
userprofile = getSharedPreferences(filename,0);
Intent pdf=getIntent();
pic= userprofile.getInt("lastpic",pic);
x=pic;
Log.d("editpic",new Integer(pic).toString());
while(y!=x){
String comment = commentresult();
Titles.add(comment);
y++;
Log.d("y",new Integer(y).toString());
}
while(z!=x){
String act = actionresult();
Actions.add(act);
z++;
Log.d("z",new Integer(z).toString());}
while(a!=x){
Bitmap photo = getbitmap();
Images.add(photo);
a++;
Log.d("a",new Integer(a).toString());}
Titles.toArray();
Actions.toArray();
Images.toArray();
rowItems = new ArrayList<RowItem>();
for (int i = 0; i < Images.size(); i++) {
RowItem item = new RowItem(Images.get(i), Titles.get(i),Actions.get(i));
rowItems.add(item);
}
Log.d("TAG", "listview null? " + (listView == null));
CustomListAdapter adapter = new CustomListAdapter(this,
R.layout.aname_list_item, rowItems);
Log.d("TAG", "adapter=null? " + (adapter == null));
listView.setAdapter(adapter);
adapter.notifyDataSetChanged();
listView.setOnItemClickListener(this);
}
public static Bitmap getbitmap() {
String photo1 =userprofile.getString("picpath"+a, "");
File imgpath=new File(photo1);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
Bitmap bmp=DecodeImage.decodeFile(imgpath, 800, 1000, true);
bmp.compress(Bitmap.CompressFormat.JPEG, 100 , stream);
Bitmap photo2=bmp;
return photo2;
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
Toast toast = Toast.makeText(getApplicationContext(),
"Item " + (position + 1) + ": " + rowItems.get(position),
Toast.LENGTH_SHORT);
toast.setGravity(Gravity.BOTTOM|Gravity.CENTER_HORIZONTAL, 0, 0);
toast.show();
}
public String commentresult()
{
// String com2 = null;
// while(y!=x){
String comment=userprofile.getString("comment"+y, "");
String com1=comment;
String com2=com1;
// }
return com2;
}
public String actionresult()
{
// String act2 = null;
// while(y!=x){
String action=userprofile.getString("action"+z, "");
String act1=action;
String act2=act1;
// }
return act2;
}
private static final long delay = 2000L;
private boolean mRecentlyBackPressed = false;
private Handler mExitHandler = new Handler();
private Runnable mExitRunnable = new Runnable() {
@Override
public void run() {
mRecentlyBackPressed=false;
}
};
@Override
public void onBackPressed() {
//You may also add condition if (doubleBackToExitPressedOnce || fragmentManager.getBackStackEntryCount() != 0) // in case of Fragment-based add
if (mRecentlyBackPressed) {
mExitHandler.removeCallbacks(mExitRunnable);
mExitHandler = null;
super.onBackPressed();
}
else
{
mRecentlyBackPressed = true;
Toast.makeText(this, "press again to exit", Toast.LENGTH_SHORT).show();
mExitHandler.postDelayed(mExitRunnable, delay);
}
}
@Override
public void onDestroy() {
// Destroy the AdView.
super.onDestroy();
}
public class Edit extends活动实现了mclicklinklistener{
私有int pic;
公共字符串filename=“用户信息”;
//将SharedPreference声明为userprofile
静态SharedReferences用户配置文件;
列表视图列表视图;
列出项目;
//字符串[]标题、说明;
文件imgpath=null;
上下文=这个;
自定义列表适配器;
私有列表标题=新的ArrayList();
私有列表操作=新建ArrayList();
私有列表图像=新的ArrayList();
int x;
int y=1;
intz=1;
静态int a=1;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.aname);
listView=(listView)findViewById(R.id.listing);
userprofile=getSharedReferences(文件名,0);
Intent pdf=getIntent();
pic=userprofile.getInt(“lastpic”,pic);
x=pic;
Log.d(“editpic”,新整数(pic.toString());
而(y!=x){
字符串comment=commentresult();
标题。添加(注释);
y++;
Log.d(“y”,新的整数(y).toString());
}
而(z!=x){
String act=actionresult();
添加(act);
z++;
Log.d(“z”,新整数(z.toString());}
while(a!=x){
位图照片=getbitmap();
图片。添加(照片);
a++;
Log.d(“a”,新整数(a).toString());}
标题。toArray();
动作。toArray();
Images.toArray();
rowItems=新的ArrayList();
对于(int i=0;i
自定义列表适配器:
public class CustomListAdapter extends ArrayAdapter<RowItem> {
Context context;
List<RowItem> items;
public CustomListAdapter(Context context, int resourceId,
List<RowItem> items) {
super(context, resourceId, items);
this.context = context;
this.items = items;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return items.size();
}
@Override
public RowItem getItem(int position) {
// TODO Auto-generated method stub
return items.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
/*private view holder class*/
private class ViewHolder {
ImageView imageView;
TextView txtTitle;
TextView txtDesc;
}
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
RowItem rowItem = getItem(position);
LayoutInflater mInflater = (LayoutInflater) context
.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
if (convertView == null) {
convertView = mInflater.inflate(R.layout.aname_list_item, null);
holder = new ViewHolder();
holder.txtDesc = (TextView) convertView.findViewById(R.id.desc);
holder.txtTitle = (TextView) convertView.findViewById(R.id.rab);
holder.imageView = (ImageView) convertView.findViewById(R.id.icon);
convertView.setTag(holder);
} else
holder = (ViewHolder) convertView.getTag();
// String name=items.get(position).getDesc();
holder.txtDesc.setText(rowItem.getDesc());
holder.txtTitle.setText(rowItem.getTitle());
holder.imageView.setImageBitmap(rowItem.getImageId());
// holder.imageView.setImageResource(Images.get(position) .getPlaceholderleft());
return convertView;
}
}
公共类CustomListAdapter扩展了ArrayAdapter{
语境;
清单项目;
公共CustomListAdapter(上下文,int-resourceId,
(列表项目){
超级(上下文、资源ID、项目);
this.context=上下文;
这个项目=项目;
}
@凌驾
public int getCount(){
//TODO自动生成的方法存根
返回items.size();
}
@凌驾
公共行项目getItem(int位置){
//TODO自动生成的方法存根
返回项目。获取(位置);
}
@凌驾
公共长getItemId(int位置){
//TODO自动生成的方法存根
返回位置;
}
/*私有视图持有者类*/
私有类视窗持有者{
图像视图图像视图;
TextView-txtTitle;
TextView-txtDesc;
}
公共视图getView(int位置、视图转换视图、视图组父视图){
ViewHolder=null;
RowItem RowItem=getItem(位置);
LayoutInflater mInflater=(LayoutInflater)contex