所以对于一个学校项目,我正在制作一个应用程序,但我被困住了。 我的主课上有一个按钮。 此类的XML代码:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.larsb.csvvg.Home"
android:background="@drawable/home">
<Button
android:id="@+id/Lariks"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="Button"
android:visibility="visible" />
<Button
android:id="@+id/Salland"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="45dp"
android:text="Button"
android:visibility="visible"
android:layout_alignTop="@+id/Lariks"
android:layout_alignLeft="@+id/Lariks"
android:layout_alignStart="@+id/Lariks" />
<Button
android:id="@+id/CSG"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button"
android:visibility="visible"
android:layout_below="@+id/Salland"
android:layout_alignLeft="@+id/Salland"
android:layout_alignStart="@+id/Salland" />
</RelativeLayout>
所以我想做的是当我点击Lariks时我切换到一个新的活动。 我尝试使用以下代码执行此操作:
public class MainActivity extends AppCompatActivity {
private static int WELCOME=4000;
Button lariks;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lariks = (Button)findViewById(R.id.Lariks);
lariks.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
}
});
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
Intent intent=new Intent(MainActivity.this,Home.class );
startActivity(intent);
finish();
}
},WELCOME);
}
}
lariks.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
}
});
该应用无法再启动。它启动模拟器,但它一直说应用程序已停止。任何人都知道为什么会这样?如果我删除了应用程序实际运行的那部分代码。
答案 0 :(得分:2)
Button
android:id="@+id/Lariks"
activity_main
不在tools:context="com.example.larsb.csvvg.Home"
布局中(由findViewById(R.id.Lariks)
和您的崩溃证明)。因此setOnClickListener()
返回null,并且尝试在此空引用上调用findViewById()
会导致崩溃。
您的setOnClickListener()
- Home
对可能属于activity_main
活动,或者该按钮应位于std::ofstream device ("/dev/usb/lp0",std::ofstream::binary);
std::uint8_t const message[] = { 0x1b, 0x70, 0x00, 0x19, 0xfa };
if (device)
device.write(reinterpret_cast<char const*>(message), sizeof message);
布局中。