我将这个评级栏添加到我的应用程序,但它的启动画面后,我的应用程序崩溃。我尝试了不同的版本,但它总是崩溃。甚至没有到达评级栏的页面。添加评级栏在Android工作室应用程序中的问题
我在做什么错?
XML文件:
<RatingBar
android:id="@+id/ratingBar"
style="@style/Widget.AppCompat.RatingBar.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:numStars="5"
android:paddingBottom="5dp"
android:stepSize="1" />
<TextView
android:id="@+id/value"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Value: " />
<Button
android:id="@+id/ratingButton"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layout_gravity="center"
android:background="#ff6600"
android:elevation="10dp"
android:padding="7dp"
android:text="Submit Rating"
android:textSize="12sp" />
MainActivity.java
public class MainActivity extends AppCompatActivity {
RatingBar ratingBar;
Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setIcon(R.drawable.ic_launcher);
ratingBar=(RatingBar)findViewById(R.id.ratingBar1);
btn=(Button)findViewById(R.id.button1);
// Set ChangeListener to Rating Bar
ratingBar.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() {
public void onRatingChanged(RatingBar ratingBar, float rating,
boolean fromUser) {
Toast.makeText(getApplicationContext(),"Your Selected Ratings : " + String.valueOf(rating),Toast.LENGTH_LONG).show();
}
});
btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
// TODO Auto-generated method stub
float rating=ratingBar.getRating();
Toast.makeText(getApplicationContext(),"Your Selected Ratings : " + String.valueOf(rating),Toast.LENGTH_LONG).show();
}
});
}
public void openAppetizersList(View v){
if(v.getId() == R.id.appetizers){
Intent i = new Intent(MainActivity.this, AppetizersActivity.class);
startActivity(i);
}
}
public void openDishList(View v){
if(v.getId() == R.id.maindish){
Intent i = new Intent(MainActivity.this, DishActivity.class);
startActivity(i);
}
}
public void openSidesList(View v){
if(v.getId() == R.id.sides){
Intent i = new Intent(MainActivity.this, SidesActivity.class);
startActivity(i);
}
}
public void openDessertsList(View v) {
if (v.getId() == R.id.desserts) {
Intent i = new Intent(MainActivity.this, DessertsActivity.class);
startActivity(i);
}
}
public void openBonusButton(View v) {
if (v.getId() == R.id.bonus) {
Intent i = new Intent(MainActivity.this, BonusActivity.class);
startActivity(i);
}
}
public void openTextClick(View v) {
if (v.getId() == R.id.textClick) {
Intent i = new Intent(MainActivity.this, BonusActivity.class);
startActivity(i);
}
}
}
你也许有一个崩溃日志?这会让我们更容易找到问题:) –
不...这是我得到的:9:11:26 AM执行任务:[:app:assembleDebug] 9:11:28 AM Gradle build在2秒内完成3个错误ms 9:12:54 AM执行任务:[:app:assembleDebug] 9:12:55 AM在940ms内完成3个错误的Gradle构建 9:13:30 AM执行任务:[:app:assembleDebug] 9:13:33 AM Gradle编译完成时间为2s 983ms ...它只是表示应用程序不停地运行 – user6889089
嗯,这来自Android Studio事件日志。当您在调试模式下运行应用程序时,您可以在[Android监视器](https://developer.android.com/studio/profile/monitor.html)中看到来自应用程序的调试信息 - 应该在那里。 –