我在Eclipse中为Android编写了以下代码:

package mohammad.negahdari.mystartup4;

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class MyStartup4Activity extends Activity {

  public int counter;

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    final TextView txtCaption = (TextView) findViewById(R.id.txtCaption);
    final Button btn1 = (Button) findViewById(R.id.txtCaption);
    txtCaption.setText("Hooora");
    txtCaption.setTextColor(Color.parseColor("#0000ff"));
    txtCaption.setBackgroundColor(Color.parseColor("#ffffff"));
    for (int i = 0; i <= 4; i++)
        Toast.makeText(MyStartup4Activity.this, "Mohammad " + i, Toast.LENGTH_SHORT).show();
    txtCaption.setOnClickListener(new OnClickListener() {

         @Override
         public void onClick(View arg0) {
             Log.i("LOG", "Clicked");
             Toast.makeText(MyStartup4Activity.this, "Clicked", Toast.LENGTH_SHORT).show();
             counter++;
             txtCaption.setText("Number is : " + counter);
         }
     });

    btn1.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            Log.i("LOG", "Clicked");
            Toast.makeText(MyStartup4Activity.this, "Clicked", Toast.LENGTH_SHORT).show();
            txtCaption.setVisibility(View.GONE);
        }
    });

  }
}


并收到此错误:


  该应用程序意外停止。请再试一遍


但是当我删除这些行时:

 btn1.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            Log.i("LOG", "Clicked");
            Toast.makeText(MyStartup4Activity.this, "Clicked", Toast.LENGTH_SHORT).show();
            txtCaption.setVisibility(View.GONE);
        }
    });


我没有错。

我的xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:orientation="vertical" >


    <TextView
    android:id="@+id/txtCaption"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="#ff00ff"
    android:gravity="center"
    android:text="..."
    android:textColor="#00ff00"
    android:textSize="40dip" />

    <Button
      android:id="@+id/btn1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button" />

</LinearLayout>

最佳答案

该应用程序意外停止。请再试一次但是当我
  删除这些行:没有错误。


显然,您指的是错误的ID

final TextView txtCaption = (TextView) findViewById(R.id.txtCaption);
final Button btn1 = (Button) findViewById(R.id.txtCaption);


检查xml中的button ID。您应该为您的button指定其他ID。

在您的情况下,您应该使用

final Button btn1 = (Button) findViewById(R.id.btn1);

10-07 19:17
查看更多