Android 用多个按钮做一件事?

Android 用多个按钮做一件事?,android,android-layout,android-intent,Android,Android Layout,Android Intent,其他人用过,但我不知道为什么,它对我不起作用。当我运行此应用程序并单击按钮时,它停止 这是主要活动: public class MainActivity extends AppCompatActivity { Button btn_iri; Button btn_nor; Button btn_aus; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceSt

其他人用过,但我不知道为什么,它对我不起作用。当我运行此应用程序并单击按钮时,它停止

这是主要活动:

public class MainActivity extends AppCompatActivity {
Button btn_iri;
Button btn_nor;
Button btn_aus;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    btn_iri =(Button) findViewById(R.id.btn_iri);
    btn_nor =(Button) findViewById(R.id.btn_nor);
    btn_aus =(Button) findViewById(R.id.btn_aus);


    View.OnClickListener listener = new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            String title = view.getTag().toString();
            Intent intent = new Intent(MainActivity.this,NextActivity.class);
            intent.putExtra("title",title);
            MainActivity.this.startActivity(intent);
        }
    };
    btn_iri.setOnClickListener(listener);
    btn_nor.setOnClickListener(listener);
    btn_aus.setOnClickListener(listener);
}
public class NextActivity extends AppCompatActivity {
TextView txt_ttl;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_next);
    TextView txt_ttl=(TextView) findViewById(R.id.txt_ttl);

    Intent intent=getIntent();
    Bundle bundle =intent.getExtras();
    if(intent.hasExtra("title")){
        String title = bundle.getString("title");
        txt_ttl.setText(title);
        Log.i("test","title is : "+title);
    }

}
}
这是我的下一个触觉:

public class MainActivity extends AppCompatActivity {
Button btn_iri;
Button btn_nor;
Button btn_aus;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    btn_iri =(Button) findViewById(R.id.btn_iri);
    btn_nor =(Button) findViewById(R.id.btn_nor);
    btn_aus =(Button) findViewById(R.id.btn_aus);


    View.OnClickListener listener = new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            String title = view.getTag().toString();
            Intent intent = new Intent(MainActivity.this,NextActivity.class);
            intent.putExtra("title",title);
            MainActivity.this.startActivity(intent);
        }
    };
    btn_iri.setOnClickListener(listener);
    btn_nor.setOnClickListener(listener);
    btn_aus.setOnClickListener(listener);
}
public class NextActivity extends AppCompatActivity {
TextView txt_ttl;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_next);
    TextView txt_ttl=(TextView) findViewById(R.id.txt_ttl);

    Intent intent=getIntent();
    Bundle bundle =intent.getExtras();
    if(intent.hasExtra("title")){
        String title = bundle.getString("title");
        txt_ttl.setText(title);
        Log.i("test","title is : "+title);
    }

}
}

在得到它之前,你必须设置标签

String title = view.getTag().toString();
试试这个:

btn_iri.setTag("anything")
btn_nor.setTag("anything")
btn_aus.setTag("anything")

请,你能提供一个例外消息吗?它的工作,但它有一些问题,我想,当我点击按钮的文本视图得到相同的按钮名称。。。可能吗?是的,将标签设置为按钮名称。例如btn_iri.setTag(btn_iri.getText());