首先这个问题已经被问过多次,但是,这些问题都没有得到任何程度的回答。我有一个在主 Activity 类中有效的示例:
final Button button = (Button) findViewById(R.id.viewcatalog);
button.setFocusable(true);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
setContentView(R.layout.find_item);
}
});
但是我在连续页面中复制此内容的所有其他尝试都失败了。我知道它们不会以相同的方式工作的原因是我的按钮是在其他类中实例化的,而不是在主机类中实例化的。修复此错误的正确方法是什么?
不起作用的方法供引用:
public void OnClickSearch(View view) {
final Button button = (Button) findViewById(R.id.button2);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
EditText text = (EditText)findViewById(R.id.editText);
String value = text.getText().toString();
setContentView(R.layout.search_results);
}
});
}
最佳答案
听起来您误解了 Android 中 UI 的工作原理。 通常预计您不会像在 OnClickListener 中那样动态更改 Activity 的 View 。
相反,您应该执行以下两件事之一。使用 Intent 和 Activity 的 startActivity 切换到新 Activity方法,或使用Fragments ,并将 Activity 中的 Fragment 替换为新的 Fragment。
关于java - 双击 Android 按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28664502/