2014-09-21 151 views
1

對不起,我的英語。有一個迷你畫廊,當你點擊圖片庫時,它應該(圖片)全屏打開。應用只需按下圖像即可投擲。我究竟做錯了什麼? MainActivity全屏圖像畫廊Android

public class MainAcTwo extends Activity { 

@SuppressWarnings("deprecation") 
Gallery gallery; 
ImageView bigimage; 

@SuppressWarnings("deprecation") 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.two); 
    gallery=(Gallery) findViewById(R.id.gallery); 
    gallery.setAdapter(new ImageAdapter(this)); 

    gallery.setOnItemClickListener(new OnItemClickListener() { 
     @TargetApi(Build.VERSION_CODES.HONEYCOMB) @SuppressLint("NewApi") public void onItemClick(AdapterView<?> parent, View v, 
       int position, long id) { 

      long imageId = ImageAdapter.ThumbsIds[position]; 

      Intent fullScreenIntent = new Intent(v.getContext(), FullScreenImage.class); 
      fullScreenIntent.putExtra(MainAcTwo.class.getName(), imageId); 

      MainAcTwo.this.startActivity(fullScreenIntent); 

     } 
    }); 
} 

}

ImageAdapter

public class ImageAdapter extends BaseAdapter implements SpinnerAdapter { 

private Context context; 

public ImageAdapter(Context context) { 
    // TODO Auto-generated constructor stub 
    this.context = context; 
} 

@Override 
public int getCount() { 
    // TODO Auto-generated method stub 
    return ThumbsIds.length; 
} 

@Override 
public Object getItem(int arg0) { 
    // TODO Auto-generated method stub 
    return null; 
} 

@Override 
public long getItemId(int arg0) { 
    // TODO Auto-generated method stub 
    return 0; 
} 

@Override 
public View getView(final int position, View convertView, ViewGroup arg2) { 
    // TODO Auto-generated method stub 
    ImageView imageView=null; 
    if(convertView == null) { 
     imageView = new ImageView(context); 
     imageView.setLayoutParams(new Gallery.LayoutParams(215, 200)); 
     imageView.setPadding(8, 8, 8, 8); 


    }else { 
     imageView = (ImageView) convertView; 
    } 

    imageView.setImageResource(ThumbsIds[position]); 

    return imageView; 
} 

public static Integer[] ThumbsIds={ 
    R.drawable.abs_icla, 
    R.drawable.abs_dog, 
    R.drawable.abs_flow, 
    R.drawable.abs_neb, 
    R.drawable.abs_rad 
}; 

}

FullScreenImage

公共類FullScreenImage延伸活動{

protected void onCreate(Bundle savedInstanceState) { 
     setContentView(R.layout.full_image); 
     Intent intent = getIntent(); 
     long imageId = (Long) intent.getExtras().get(FullScreenImage.class.getName()); 

     ImageView imageView = (ImageView) findViewById(R.id.fullImage); 

     imageView.setLayoutParams(new ViewGroup.LayoutParams(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT)); 

     imageView.setImageResource((int) imageId); 
     imageView.setScaleType(ImageView.ScaleType.FIT_XY); 
} 

}

+1

這是什麼拋出的錯誤,其中線? – mobilepotato7 2014-09-21 14:32:51

+0

當我點擊圖片時,寫道「不幸的是,myProgect已停止」 在logCat中: 致命異常:主 java.lang.ClassCastException:android.view.ViewGroup $ LayoutParams不能轉換爲android.widget.LinearLayout $ LayoutParams atandroid.widget.LinearLayout.measureVertical(LinearLayout.java:655) 在android.widget.LinearLayout.onMeasure(LinearLayout.java:574) 在android.view.View.measure \t在android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:4814) \t在android.widget.FrameLayout.onMeasure(FrameLayout.java:310) \t在android.view.View.measure(View.java:15172) ________________ – nesalexy 2014-09-21 14:57:46

+1

嘗試清理項目和建築物。也許這是一些令人困惑的XML文件,因爲我沒有看到任何線性佈局,只有一個ImageView – mobilepotato7 2014-09-21 15:04:07

回答

2

清潔你的項目,如果它不能正常工作

imageView.setLayoutParams(new ViewGroup.LayoutParams(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT)); 


change it to 

imageView.setLayoutParams(new LinearLayout.LayoutParams(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT)); 
+0

謝謝!一切工作後更換線! – nesalexy 2014-09-21 16:37:43

+1

歡迎..一切順利:) – 2014-09-21 16:38:28