android - 用多个按钮做一件事?
问题描述
其他人使用它并且它有效,但我不知道为什么,它对我不起作用。当我运行此应用程序并单击按钮时,它会停止。
这是主要活动:
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);
}
}
}
解决方案
您必须在获取之前设置标签
String title = view.getTag().toString();
试试这个 :
btn_iri.setTag("anything")
btn_nor.setTag("anything")
btn_aus.setTag("anything")
推荐阅读
- ansible - 我无法使用 ansible 从 VM 获取额外的配置属性
- sql-server - sp_who2 中的一个或多个 blkby 列中包含当前 spid 是什么意思?
- postgresql - 使用感叹号时 tsvector 搜索出现问题
- ios - 从 ViewController 转到 TabBarView
- java - Android Class.forName 无法使用默认类加载器加载类
- python - 我将如何创建一个循环,为 .xml 文件中的每个孩子创建一个新元组
- c# - 'Microsoft.ACE.OLEDB.12.0' 提供程序未在本地计算机 MS Azure 上注册。(具体回答)
- javascript - RegEx 用于匹配方括号中的单词,后面没有括号
- arrays - 如何使用描述性/可读语句获取 BASH 数组长度?
- go - 从地图中获取任何项目而无需循环