ImageView Force关闭我的应用程序

时间:2011-01-15 21:47:11

标签: android imageview

您好,我真的是初学者,我已经和这个问题争斗了3天。 :(

我可以在网格视图教程中使用网格视图和适配器来显示图像,但我希望能够在xml中使用ImageView。

public class HelloImage extends Activity {
   public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        ImageView gridview = (ImageView) findViewById(R.id.gridview);
        gridview.setLayoutParams(new GridView.LayoutParams(85, 85));
        gridview.setScaleType(ImageView.ScaleType.CENTER_CROP);
        gridview.setPadding(8, 8, 8, 8);
        gridview.setImageResource(R.drawable.hand_tool);
    }
}  

<LinearLayout 
    xmlns:android = "http://schemas.android.com/apk/res/android"
    android:layout_width = "wrap_content" 
    android:layout_height = "wrap_content"
    android:orientation = "horizontal"> 

    <ImageView    
        android:id ="@+id/gridview"   
        android:layout_width = "wrap_content" 
        android:layout_height = "wrap_content"
        />
</LinearLayout>

当我运行它时会导致应用程序在加载时强行关闭。

由kcoppock编辑:将LogCat数据从评论转移到帖子

0

1-15 14:59:24.952: INFO/BackupManagerService(61): + android 
01-15 14:59:24.952: INFO/BackupManagerService(61): + com.android.inputmethod.latin 
01-15 14:59:24.952: INFO/BackupManagerService(61): + com.android.browser 
01-15 14:59:24.952: INFO/BackupManagerService(61): + com.android.providers.userdictionary
01-15 14:59:24.961: INFO/BackupManagerService(61): + com.android.providers.settings 
For "Exception": 14:59:23.832: ERROR/System(61): java.lang.SecurityException 
14:59:36.361: WARN/Checkin(103): Can't update stat PHONE_GSM_REGISTERED: java.lang.IllegalArgumentException: Unknown URL content://android.server.checkin/stats 
14:59:38.951: WARN/Checkin(103): Can't update stat PHONE_GPRS_ATTEMPTED: java.lang.IllegalArgumentException: Unknown URL content://android.server.checkin/stats 
14:59:39.991: WARN/NotificationService(61): java.io.IOException: setDataSource failed.: status=0x80000000 
01-15 14:59:40.001: WARN/Checkin(103): Can't update stat PHONE_GPRS_CONNECTED: java.lang.IllegalArgumentException: Unknown URL content://android.server.checkin/stats 
01-15 15:40:40.929: ERROR/AndroidRuntime(128): ERROR: thread attach failed 
01-15 15:40:44.269: ERROR/AndroidRuntime(212): ERROR: thread attach failed

2 个答案:

答案 0 :(得分:0)

确定。你在

上得到了ClassCastException
gridview.setLayoutParams(new GridView.LayoutParams(85, 85));

编辑:请阅读如何使用DDMS和LogCat!

答案 1 :(得分:0)

我真的不知道你的意思是“我希望能够在XML中使用ImageView”,但是如果你想要的是一个GridView,那么你就会有很多事情发生。你在XML中有一个你已经命名为gridview的ImageView - 它不是一个gridview,但是你称它为一个,你只是在乞求混淆。这就像说int myString = 9;

您的第二个(相关)问题是,您正在尝试将GridView.LayoutParams参数设置为LinearLayout内的ImageView。您应该使用LinearLayout.LayoutParams。而不是在代码中这样做,为什么不使用XML?:

<ImageView
    android:layout_width="85dp"
    android:layout_height="85dp"
    android:padding="8dp"
    android:scaleType="centerCrop"
    android:src="@drawable/hand_tool"
    />