2011-01-15 4 views
0

Привет, я действительно начинаю, и я борюсь с этой проблемой в течение 3 дней. :(ImageView Force закрывает мое приложение

Я могу получить изображение, чтобы показать, используя вид сетки и адаптер, как в виде таблицы учебника, но я хотел бы иметь возможность просто использовать ImageView в XML.

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> 

при запуске этого он вызывает приложение принудительно закрыть при загрузке

EDIT по kcoppock:. Передача данных LogCat от комментариев к сообщению

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

Опубликовать макет/main.xml. – fiction

+1

Еще лучше, опубликуйте LogCat. –

+0

это огромная Я не знаю, с чего начать и заканчивать:/Единственная тёмная ошибка чтения была Ошибка: Ошибка при вставке ничьей была бы виновником? – BlueFireLady

ответ

0

Ok. Вы получили ClassCastException по адресу

gridview.setLayoutParams(new GridView.LayoutParams(85, 85)); 

EDIT: И, пожалуйста, прочитайте, как использовать DDMS и LogCat!

0

Я действительно не знаю, что вы подразумеваете под «Я хотел иметь возможность использовать ImageView в XML», но если то, что вы хотите, это GridView, у вас есть много чего из этого. У вас есть ImageView в XML, который вы назвали gridview - это не gridview, но вы его называете одним, вы просто попрошайничать. Это как сказать int myString = 9;.

Ваша вторая (связанная) проблема заключается в том, что вы пытаетесь установить параметры GridView.LayoutParams в ImageView внутри LinearLayout. Вы должны использовать LinearLayout.LayoutParams. И вместо того, чтобы делать это в коде, почему бы просто не использовать XML ?:

<ImageView 
    android:layout_width="85dp" 
    android:layout_height="85dp" 
    android:padding="8dp" 
    android:scaleType="centerCrop" 
    android:src="@drawable/hand_tool" 
    /> 
Смежные вопросы