ImageView Force закрывает мое приложение - PullRequest
0 голосов
/ 16 января 2011

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

Я могу получить изображение для показа, используя вид сетки и адаптер, как в учебнике по просмотру сетки, но я хотел иметь возможность просто использовать 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>

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

РЕДАКТИРОВАТЬ с помощью 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 голосов
/ 16 января 2011

Я действительно понятия не имею, что вы подразумеваете под «я хотел иметь возможность просто использовать ImageView в XML», но если вам нужен GridView, у вас там много чего не получается. В вашем XML есть ImageView, который вы назвали 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"
    />
0 голосов
/ 16 января 2011

Хорошо.Вы получили ClassCastException на

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

РЕДАКТИРОВАТЬ: И, пожалуйста, прочитайте, как использовать DDMS и LogCat!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...