2017-06-28 2 views
0

Ich habe eine Map-Aktivität innerhalb eines Layouts. Wenn ich also ein `ImageButton hinzufüge, wird es im Design-Editor angezeigt, aber wenn ich auf Mobile läuft, zeigt es nichts oder anderes zeigt einen sehr kleinen Punkt.ImageButton wird nicht auf einem Layout hinzugefügtes Fragment angezeigt

Aber ich fügen Sie das gleiche Bild in einem anderen Layout ohne Fragment, wird das Bild kein Problem zeigen, so denke ich, es ist jede Idee mit dem Fragment zu tun, Sie bitte danke meinem Code

hier aber es jede mögliche Weise zeigen sie ohne definieren sollte

ImageButton im=(ImageButton)findViewById(R.id.imb); 

aber Floating-Taste und die normale Taste funktioniert hier kein Problem

mein activiy Fragment ist

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback{ 

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_maps); 

@Override 
    public void onMapReady(GoogleMap googleMap) { 
     mMap = googleMap; 
     // Add a marker in Sydney and move the camera 
     LatLng sydney = new LatLng(-34, 151); 
     mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney")); 
     mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney)); 

, das alles, was ich in der Tätigkeit ist und alles, was ich auf der Liste der Überschreibung Methode sehen kann, ist dies ein

@Override 
    public View onCreateView(View parent, String name, Context context, AttributeSet attrs) { 
     return super.onCreateView(parent, name, context, attrs); 
    } 

Antwort

0

Sie müssen diese Zeilen ändern:

ImageButton im=(ImageButton)findViewById(R.id.imb); 

mit

ImageButton im=(ImageButton) view.findViewById(R.id.imb); 

In welcher view ist die fragment view, die Sie beim Start Ihres Fragments aufblasen.

Ihre view wird aus einer Codezeile kommen, die wie folgt aussieht:

View view = inflater.inflate(R.layout.your_fragment, container, false); 

Hoffe, es hilft.

+0

danke für schnelle antwort so was ich getan habe ist zu erklären inflater inflater; dann rief ich View view ... mache ich es richtig? und ich weiß nicht, was dieser Container mit Dank ersetzt werden soll – SeekingKnowleges

+0

Sie müssen nicht einen weiteren "Inflater inflater" deklarieren (erstellen), weil das "inflater" -Objekt aus Argumenten verwendet wird, die durch die Methode angegeben werden. Sicher hast du so etwas in deinem Fragment. 'public View onCreateView (LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {' Über diesen 'inflater' rede ich. –

+0

ok ich entfernte Inflater jetzt der Inflater ist rot und ich sehe nichts davon View onCreateView (Layout Inflatter infliter, ViewGroup container, Bundle innerhalb des codes also was ich tat ist ich mapactivity von android studio erstellt dann habe ich relative layout hinzugefügt und ich legte die karte fragment innerhalb dieses layouts bin ein bigginer nicht weiter so weiß nicht viel ich hoffe du rätst mich in details danke – SeekingKnowleges

Verwandte Themen