我有一个错误,很常见,因为我在互联网上看到了几种解决方案,所有解决方案都一样。我试图在我的android代码上执行此操作,但是它不起作用。
我有一个按钮。该按钮取决于微调框上的文字,应该使我转到页面或其他页面。
这是按钮的xml代码:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/lancer"
android:id="@+id/startButton"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:clickable="true"
android:onClick="jumpTo"/>
和它的java类:
public class Admin extends AppCompatActivity implements View.OnClickListener {
Spinner spinner_event;
Spinner spinner_activity;
Spinner spinner_wallpaper;
ArrayAdapter<CharSequence> adapter_wallpaper;
ArrayAdapter<CharSequence> adapter_event;
ArrayAdapter<CharSequence> adapter_activity;
Button startButton;
String textActivity;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.content_admin);
spinner_event = (Spinner)findViewById(R.id.spinner_event);
adapter_event = ArrayAdapter.createFromResource(this, R.array.events,android.R.layout.simple_spinner_dropdown_item);
spinner_event.setAdapter(adapter_event);
spinner_activity = (Spinner)findViewById(R.id.spinner_activity);
adapter_activity = ArrayAdapter.createFromResource(this, R.array.activity,android.R.layout.simple_spinner_dropdown_item);
spinner_activity.setAdapter(adapter_activity);
spinner_wallpaper = (Spinner)findViewById(R.id.spinner_wallpaper);
adapter_wallpaper = ArrayAdapter.createFromResource(this, R.array.wallpapers,android.R.layout.simple_spinner_dropdown_item);
spinner_wallpaper.setAdapter(adapter_wallpaper);
startButton = (Button)findViewById(R.id.startButton);
startButton.setOnClickListener(this);
}
@Override
public void onClick(View v) {
textActivity = spinner_activity.getSelectedItem().toString();
switch(v.getId()){
case R.id.startButton:
{
if(textActivity == "Entree"){
Intent i = new Intent(this, BadgeEntree.class);
startActivity(i);
}
break;
}
}
}
}
我应该去我的BadgeEntree。两者都在AndroidManifest.xml上定义,我很迷路,似乎一切正常,但事实并非如此,我在做什么错?
谢谢您的帮助
去掉
startButton.setOnClickListener(this);
}
@Override
public void onClick(View v) {
textActivity = spinner_activity.getSelectedItem().toString();
switch(v.getId()){
case R.id.startButton:
{
if(textActivity == "Entree"){
Intent i = new Intent(this, BadgeEntree.class);
startActivity(i);
}
break;
}
}
做
首先,您应该致电if(textActivity.equals("Entree")
而不是==
现在,当您单击按钮时,Android系统将调用活动的jumpTo(View)方法。为了使它起作用,该方法必须是公共的并且接受View作为其唯一参数。
public void jumpTo(View i)
{
textActivity = spinner_activity.getSelectedItem().toString();
if(textActivity.equals("Entree"){
Intent i = new Intent(this, BadgeEntree.class);
startActivity(i);
}
else
{
Log.d("Else","Wrong");
}
}
最后
public class Admin extends AppCompatActivity {
Spinner spinner_event;
Spinner spinner_activity;
Spinner spinner_wallpaper;
ArrayAdapter<CharSequence> adapter_wallpaper;
ArrayAdapter<CharSequence> adapter_event;
ArrayAdapter<CharSequence> adapter_activity;
Button startButton;
String textActivity;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.content_admin);
spinner_event = (Spinner)findViewById(R.id.spinner_event);
adapter_event = ArrayAdapter.createFromResource(this, R.array.events,android.R.layout.simple_spinner_dropdown_item);
spinner_event.setAdapter(adapter_event);
spinner_activity = (Spinner)findViewById(R.id.spinner_activity);
adapter_activity = ArrayAdapter.createFromResource(this, R.array.activity,android.R.layout.simple_spinner_dropdown_item);
spinner_activity.setAdapter(adapter_activity);
spinner_wallpaper = (Spinner)findViewById(R.id.spinner_wallpaper);
adapter_wallpaper = ArrayAdapter.createFromResource(this, R.array.wallpapers,android.R.layout.simple_spinner_dropdown_item);
spinner_wallpaper.setAdapter(adapter_wallpaper);
startButton = (Button)findViewById(R.id.startButton);
}
public void jumpTo(View i)
{
textActivity = spinner_activity.getSelectedItem().toString();
if(textActivity.equals("Entree"){
Intent i = new Intent(this, BadgeEntree.class);
startActivity(i);
}
else
{
Log.d("Else","Wrong");
}
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句