Android studio 单击按钮切换到另一个活动
我对安卓工作室完全陌生。我一直在尝试创建一个按钮列表,将用户带到不同的活动(“本例中为movieShowings”) 但是,当我单击按钮时,应用程序在模拟器上崩溃 主要活动Android studio 单击按钮切换到另一个活动,android-studio,buttonclick,Android Studio,Buttonclick,我对安卓工作室完全陌生。我一直在尝试创建一个按钮列表,将用户带到不同的活动(“本例中为movieShowings”) 但是,当我单击按钮时,应用程序在模拟器上崩溃 主要活动 import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; public class MainActivity ext
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void MovieShowings(View view) {
Intent intent = new Intent(this, MovieShowings.class);
startActivity(intent);
}
}
布局按钮
<Button
android:id="@+id/showingTimes"
android:layout_width="0dp"
android:layout_height="48dp"
android:layout_marginTop="124dp"
android:text="Movie Showings"
android:textColor="#0000ff"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:onClick="MovieShowings"/>
主要活动
public class MovieShowings extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String[] foods = {"Bad Boys", "Purge", "Interstellar", "7 Pounds"};
ListAdapter Adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, foods);
ListView movieList = (ListView) findViewById(R.id.movieList);
movieList.setAdapter(Adapter);
movieList.setOnItemClickListener(
new AdapterView.OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String food = String.valueOf(parent.getItemAtPosition(position));
Toast.makeText(MovieShowings.this, food, Toast.LENGTH_LONG).show();
}
}
);
}
公共类电影放映扩展了活动{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
字符串[]食物={“坏男孩”,“净化”,“星际”,“7磅”};
ListAdapter=new ArrayAdapter(这是android.R.layout.simple\u list\u item\u 1,foods);
ListView movieList=(ListView)findViewById(R.id.movieList);
movieList.setAdapter(适配器);
movieList.setOnItemClickListener(
新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
String food=String.valueOf(parent.getItemAtPosition(position));
Toast.makeText(MovieShowings.this,food,Toast.LENGTH_LONG.show();
}
}
);
}
}
错误消息
致命异常:主
进程:com.example.niallgrace.cinemaapp,PID:6200
java.lang.RuntimeException:无法启动activity ComponentInfo{com.example.niallgrace.cinemaapp/com.example.niallgrace.cinemaapp.MovieShowings}:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法'void android.widget.ListView.setAdapter(android.widget.ListAdapter)'
在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2817)上
位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892)
位于android.app.ActivityThread.-wrap11(未知来源:0)
在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1593)
位于android.os.Handler.dispatchMessage(Handler.java:105)
位于android.os.Looper.loop(Looper.java:164)
位于android.app.ActivityThread.main(ActivityThread.java:6541)
位于java.lang.reflect.Method.invoke(本机方法)
在com.android.internal.os.Zygote$MethodAndArgsCaller.run上(Zygote.java:240)
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
原因:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“void android.widget.ListView.setAdapter(android.widget.ListAdapter)”
在com.example.niallgrace.cinemaapp.MovieShowings.onCreate(MovieShowings.java:22)上
位于android.app.Activity.performCreate(Activity.java:6975)
位于android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1213)
在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2770)中,从方法动画显示的括号中删除
视图。
还可以将方法中的this
替换为YourActivityName。this
编辑1:
根据您的错误日志,您正在切换的活动中的listView似乎有问题在此处检查布局文件setContentView(R.layout.activity\u main)
并确保ListView与此处指定的id匹配(ListView)findViewById(R.id.movieList)代码>。如果它找不到布局元素,就会抛出异常。这里和更大的web上有很多很多关于这个的引用。你做了什么研究?在搜索这个非常常见的错误时,您会发现什么?