您好,我真的是初学者,我已经和这个问题争斗了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
答案 0 :(得分:0)
确定。你在
上得到了ClassCastExceptiongridview.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"
/>