相关疑难解决方法(0)

android:onClick XML属性与setOnClickListener有何不同?

从我读过,您可以通过onClick两种方式为按钮分配处理程序.

使用android:onClickXML属性,您只需使用带有签名的公共方法的名称,void name(View v)或使用setOnClickListener传递实现OnClickListener接口的对象的方法.后者通常需要一个我个人不喜欢的匿名课程(个人品味)或者定义实现该课程的内部课程OnClickListener.

通过使用XML属性,您只需要定义一个方法而不是一个类,所以我想知道是否可以通过代码而不是XML布局来完成相同的操作.

android onclick

400
推荐指数
10
解决办法
37万
查看次数

如何通过XML和Java代码使用OnClickListener接口?

可能重复:
OnClick()事件和OnClickListener之间的区别?

我是Android开发的半新手,当我第一次开始时,我试图避免以任何必要的方式使用xml布局,因此我之前的一些项目涉及显式创建OnClickListener并将其实现为匿名内部类的按钮.如 -

final Button button = new Button(this);
button.setText("Click to change second line of text");

OnClickListener buttonListener = new View.OnClickListener() {
    boolean clicked = false;
    int numClicks = 0;

    @Override
    public void onClick(View v) {
        if(numClicks > 5) {
            button.setText("STOP IT");
        }
        numClicks++;
        if(clicked == false){
            clicked = true;
            tv2.setText("Text Changed on Button Click");    
        }
        else
        {
            clicked = false;
            tv2.setText("Click again");
        }       
    }
};
button.setOnClickListener(buttonListener);
Run Code Online (Sandbox Code Playgroud)

但随着我越来越熟悉android,我开始理解xml布局的价值,并实现了这样的按钮

    <Button
    android:id="@+id/button1"
    android:layout_height = "wrap_content"
    android:layout_width ="wrap_content"
    android:text = "lets do …
Run Code Online (Sandbox Code Playgroud)

java xml android android-layout android-button

68
推荐指数
1
解决办法
25万
查看次数

最佳实践android:onClick XML属性还是setOnClickListener?

我正在关注Google的Android教程并发现有两种方法可以根据标题获得小部件回调(或者只有onClick - 我不知道).

我是一名高级Java Swing开发人员,所以内部类方法让我有宾至如归的感觉:)但我明白xml方法更新 - 所以谷歌必须添加它是有原因的.

这是什么原因?如果现在避免使用内部类方法(在支持它的版本上),在Android平台上这样做是否"更好"?

android

21
推荐指数
2
解决办法
7171
查看次数

即使使用inputmanager也无法隐藏Android软键盘

问题:

我想在按下"添加"按钮时隐藏键盘.EditText屏幕上有两个.键盘在启动活动时不会出现,这很好,但单击按钮时不会消失.

在此输入图像描述

以下是Stack Overflow的所有可能的问题,我看到他的答案对我没有帮助:

关闭/隐藏Android软键盘

以编程方式隐藏/显示Android软键盘

活动开始时如何隐藏软键盘

如何在EditText外单击后在android上隐藏软键盘?

和许多其他人.

这是我的代码:

AddActivity

public class AddActivity extends ActionBarActivity {
EditText text1,text2;
DbHelper db;
ListView l;
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_add);
    db = new DbHelper(this);
    l = (ListView) findViewById(R.id.listInAddActivity);
    text1 = (EditText) findViewById(R.id.i1);
    text2 = (EditText) findViewById(R.id.i2);
//        text1.setInputType(InputType.TYPE_NULL);
  //      text2.setInputType(InputType.TYPE_NULL);
    hideKeyboard();

    loadDataInAdd();

}
public void addNewTask(View view) {
    String s1 = text1.getText().toString();
    String s2 = text2.getText().toString();
    db.addData(s1,s2);
    loadDataInAdd();
    hideKeyboard();
}
public void loadDataInAdd()
{
    try {
        Cursor cursor …
Run Code Online (Sandbox Code Playgroud)

keyboard android

9
推荐指数
1
解决办法
2858
查看次数

标签 统计

android ×4

android-button ×1

android-layout ×1

java ×1

keyboard ×1

onclick ×1

xml ×1