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