2013-05-12 4 views
6

Ich versuche, eine neue Galerie-App zu erstellen, seit Gallery abgeschrieben wurde.(R.dimen.padding_medium) Kann nicht aufgelöst werden oder ist kein Feld?

Das Hauptproblem, das ich habe, ist, dass, wenn ich versuche, den folgenden Code ausführen, ich den Fehler nicht schütteln kann "Dimen kann nicht aufgelöst werden oder ist kein Feld". Ich habe eine Webseite und einige Posts gelesen, die sagen, dass es mit dem Importieren von "import com.example.test.R;" Aber auch damit bleibt der Fehler bestehen, wenn jemand helfen könnte, wäre es erstaunlich.

Gall.java:

package com.example.test; 

import android.app.Activity; 
import android.os.Bundle; 
import android.support.v4.view.ViewPager; 



public class Gall extends Activity { 


    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_gall); 

     ViewPager viewPager = (ViewPager) findViewById(R.id.view_pager); 
     ImgAdapt adapter = new ImgAdapt(this); 
     viewPager.setAdapter(adapter); 
    } 

    } 

activity_gall.xml:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 

    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <android.support.v4.view.ViewPager 
    android:id="@+id/view_pager" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" /> 

</RelativeLayout> 

ImgAdapt.java:

package com.example.test; 

import android.content.Context; 
import android.support.v4.view.PagerAdapter; 
import android.support.v4.view.ViewPager; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.ImageView; 




public class ImgAdapt extends PagerAdapter { 
Context context; 

private int[] GalImages = new int[] 
     { 
      R.drawable.one, 
      R.drawable.two, 
      R.drawable.three 

     }; 

ImgAdapt(Context context){ 
this.context=context; 
} 

public int getCount() { 
return GalImages.length; 
} 


public boolean isViewFromObject(View view, Object object) { 
return view == ((ImageView) object); 
} 


public Object instantiateItem(ViewGroup container, int position) { 

ImageView imageView = new ImageView(context); 
int padding = context.getResources().getDimensionPixelSize(R.dimen.padding_medium); 
imageView.setPadding(padding, padding, padding, padding); 
imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE); 
imageView.setImageResource(GalImages[position]); 
((ViewPager) container).addView(imageView, 0); 
return imageView; 
} 


public void destroyItem(ViewGroup container, int position, Object object) { 
((ViewPager) container).removeView((ImageView) object); 
} 
} 

Viel Code, sorry, wenn es eine vage Frage, aber die ' Dimen 'in der Linie

int padding = context.getResources().getDimensionPixelSize(R.dimen.padding_medium); 

ist der einzige Teil, der mir einen Fehler gibt.

Antwort

15

Ich denke, ich bin zu spät, um zu antworten, aber kann für zukünftige Referenz nützlich sein.

Sie müssen padding_medium in Ihrer res-> values-> dimens.xml-Datei definieren.

Zum Beispiel:

<dimen name="padding_medium">5dp</dimen> 
0

stand ich einen ähnlichen Fehler heute und die Lösung wurde Zugabe

import com.yourpackagename.R; 
Verwandte Themen