我正在学习Android并尝试一个简单的Android应用程序开发,我从讲座中获得了一个演示代码,而老师只需执行以下操作:有2个按钮,1个textview。触摸按钮A时,它将在文本视图中显示“文本A”,而触摸按钮B时,将在文本视图中显示“文本B”。
我遵循了代码并重新编写了代码,但在模拟器上运行时却无法获得正确的结果。
当我触摸任何一个按钮时,TextView中都没有内容。但是我老师的参考代码有效:
import android.view.View;
import android.widget.TextView;
import android.os.Bundle;
import android.app.Activity;
public class ActTwo extends Activity {
private TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.activity_act_two);
tv = (TextView) this.findViewById(R.id.textView2);
}
public void report(View v) {
if(v.getId() == R.id.button1)
tv.setText(R.string.anrep);
else
tv.setText(R.string.iprep);
}
}
怎么report(View v)
称呼?我不明白该类的调用方式。有人可以帮我吗?
您需要让您的按钮知道在按下时report()
应该被调用。这可以通过android:onClick
布局XML上的按钮属性来完成:
<Button
android:id="@+id/button1"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="@string/button_text"
android:onClick="report" />
或通过代码,将附加OnClickListener
到按钮:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.activity_act_two);
button1 = (Button) this.findViewById(R.id.button1);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
report(v);
}
});
}
希望能帮助到你。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句