首页 > 解决方案 > 用多个按钮做一件事?

问题描述

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

这是主要活动

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);
}

这是我的NextActivity

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);
    }

}
}

标签: androidandroid-layoutandroid-intent

解决方案


您必须在获取之前设置标签

String title = view.getTag().toString();

试试这个 :

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

推荐阅读