Thi zu verwenden ist mein MainActivity.javaWie Intent Konstruktor
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button bt=(Button) findViewById(R.id.bt);
bt.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v) {
Intent i=new Intent(MainActivity.this,SecondAcitvity.class);
EditText et=(EditText) findViewById(R.id.et);
String text=et.getText().toString();
i.putExtra("name",text);
startActivity(i);
}
});
}
}
Das ist mein SecondActivity.java
istimport android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;
public class SecondAcitvity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
TextView tv = (TextView) findViewById(R.id.tv);
Intent i=getIntent();
Bundle b=i.getExtras();
if(b!=null)
{
String name=(String)b.get("name");
tv.setText(name);
}
}
}
Whe Ich bin mit
Intent i=new Intent(MainActivity.this,SecondAcitvity.class);
dann Code läuft gut
aber wenn ich bin mit
Intent i=new Intent(this,SecondAcitvity.class);
dann gibt es Fehler.
kann nicht aufgelöst werden Konstruktor
Intent (anonym android.view.View.onClickListener, java.lang.Class {com.example.intents.SecondActivity}) `
Warum so? .
welcher Fehler tatsächlich sind Sie –
Im Inneren des 'OnClickListener' bekommen,' this' bezieht sich auf die 'OnClickListener', die kein' Context' ist, das ist, was das 'Intent' Konstruktor erwartet. –
Da Sie sich in der 'View.OnClickListener'-Schnittstelle befinden, bedeutet dies, dass Sie diese Schnittstelle aufrufen, wenn Sie' this' verwenden, nicht die 'MainActivity' –