2016-04-04 30 views
0

Im Erstellen einer App und ich brauche ein Bild, um eine neue Aktivität in Android Studios zu öffnen, aber es scheint nicht zu funktionieren. Kann jemand irgendwelche Probleme mit dem Code unten sehen?Verwenden Sie die Bildansicht, um eine neue Aktivität zu öffnen?

public class Menu extends AppCompatActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_menu); 
} 
ImageView imgview = (ImageView) findViewById(R.id.table); 
imgview.bringToFront(); 
imgview.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     Intent myIntent = new Intent(Menu.this, Options.class); 
     startActivity(myIntent); 
    } 
}); 
} 
+0

sind Sie Absicht Empfang in 'options.class' bekommen? – Kaushal28

+0

Erweitern 'Optionen' Aktivität? –

+3

* scheint nicht zu funktionieren ... * stürzt die App ab? wir müssen den Fehler sehen, wenn –

Antwort

0

Bitte ordnen Sie Code aussehen:

public class Menu extends AppCompatActivity { 

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

    ImageView imgview = (ImageView) findViewById(R.id.table); 
    imgview.bringToFront(); 
    imgview.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Intent myIntent = new Intent(Menu.this, Options.class); 
      startActivity(myIntent); 
     } 
    }); 
} 
} 

sicher sein, dass Sie Optionen Klasse erweitern AppCompatActivity

public class Options extends AppCompatActivity { 
**STUFF** 
} 

stellen Sie sicher, dass Optionen in der AndroidManifiest.xml

erklärt
<activity 
android:name=".Options 
android:theme="@style/AppTheme.NoActionBar"> 
</activity> 
1

Verschieben Sie ImageView und den zugehörigen Code in die onCreate() - Methode.
Da Sie eine Klasse mit dem Namen Options.class haben Eine Klasse von BitmapFactory.Options.class auch existiert, so überprüfen Sie bitte Ihre Importe.

+0

Wenn ich dies tue, stürzt die App – Bjohnston

+0

überprüfen Sie Ihr Manifest, wenn Options.class deklariert ist? –

+0

Überprüfen Sie die ID Ihres ImageView, ob Sie auf die richtige Komponente zeigen. –

0

Fügen Sie die folgen ing-Code in Ihre Haupttätigkeit:

public class Options extends ActionBarActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_options); 
    Intent intent0 = getIntent(); 
} 
} 

Fügen Sie auch android:clickable:"true" in XML-Code des ImageView:

public class MainActivity extends ActionBarActivity { 

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


    iv = (ImageView)findViewById(R.id.imageView); 
    iv.setOnClickListener(new View.OnClickListener(){ 
     public void onClick(View view1){ 
      Intent myIntent = new Intent(MainActivity.this, Options.class); 
      startActivity(myIntent); 
     } 
    }); 
} 
} 

Sie Intent in der Option.class Aktivität zu bekommen nicht vergessen.

<ImageView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/imageView" 
    android:layout_alignParentTop="true" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="156dp" 
    android:src="@drawable/ss" 
    android:clickable="true"/> 

und Option sollte in Menifest.xml als deklariert werden:

</activity> 
    <activity android:name=".Options"></activity> 
</application> 
0

Versuch Image statt Image

public class MainActivity extends AppCompatActivity implements View.OnClickListener { 


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

      ImageButton imageButton = (ImageButton) findViewById(R.id.imageButton); 
      imageButton.setImageResource(R.drawable.k); 
      imageButton.setOnClickListener(this); 

     } 
    @Override 
    public void onClick(View v) { 
    Intent myIntent = new Intent(this, Options.class); 
    startActivity(myIntent); 

    } 
} 

In Ihrem neuen Activity XML, versuchen Sie dies. Vergessen Sie nicht die Bildquelle zu setzen (android: src = "@ ziehbar/k") oder Sie werden eine Nullpointer

<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:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
tools:context="com.example.nirmesh.problem1.Options"> 

<ImageView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/imageview" 
    android:src="@drawable/k" 
    android:layout_centerInParent="true"/> 

Verwandte Themen