gpt4 book ai didi

Android 用户输入,使用自定义键盘

转载 作者:行者123 更新时间:2023-11-30 04:20:12 25 4
gpt4 key购买 nike

对于初学者,我们将不胜感激!我创建了一个数字小键盘,每次选择其中一个按钮时,我都需要将数值传递给 EditText。我遇到了一个问题,每次按下不同的按钮时,EditText 都会被 setText 覆盖。我真的需要连接每个值,但我不太清楚该怎么做。可以按任何顺序按下一到九个按钮中的任何一个。

这是一些代码。我只是想让这些键先工作。

    View hash = findViewById(R.id.keypad_hash);
hash.setOnClickListener(this);
View key1 = findViewById(R.id.keypad_1);
key1.setOnClickListener(this);
View key2 = findViewById(R.id.keypad_2);
key2.setOnClickListener(this);

}




@Override
public void onClick(View v){
switch(v.getId()){
case R.id.keypad_hash:
questions();
break;

case R.id.keypad_1:

final EditText number_edit_text1 = (EditText) this.findViewById(R.id.Edit);
number_edit_text1.setText(String.valueOf("1"));




break;


case R.id.keypad_2:

final EditText number_edit_text2 = (EditText) this.findViewById(R.id.Edit);
number_edit_text2.setText(String.valueOf("2"));
break;

}
}

然后是布局中的edittext

<EditText  
android:id="@+id/Edit"
android:layout_height="wrap_content"
android:inputType="number"
android:layout_width="fill_parent"
android:numeric="integer">
</EditText>

最佳答案

尝试:

number_edit_text2.append(String.valueOf("2"));

如果由于某种原因不起作用:

number_edit_text2.setText(number_edit_text2.getText().toString()+String.valueOf("2"));

另外,附带说明一下,您可以自己简化此过程。

在您的 xml 中,您应该:

android:tag="0"

并将 0 替换为您想要的每个按钮的任何数字。

在你的类主体中,你应该声明 EditText editText;,然后在 onCreate 中,你应该做 editText = (EditText)findViewById(R.id.编辑);

然后在 onClick 中,执行以下操作:

editText.append(String.valueOf(v.getTag()));

这应该会简化您的代码,使其更易于管理,并使用更少的资源,因为您不必重复重新创建 EditText

关于Android 用户输入,使用自定义键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9386641/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com