gpt4 book ai didi

android - 没有从 EditText 得到任何东西

转载 作者:行者123 更新时间:2023-11-29 14:18:10 25 4
gpt4 key购买 nike

您好,我是 Android 开发的新手,我正在开发一个应用程序,将(在编辑文本中)输入(整数)转换为厘米并显示为普通文本(在 TextView 中)。但是无论我在编辑文本中输入什么,我都无法检索它,我正在发布我的 xml 和 java 代码:

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>

<EditText
android:id="@+id/edittext1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:hint="@string/Hint1"
android:inputType="number" />

<Button
android:id="@+id/Convert"
android:text="@string/Convert"
android:layout_width="250dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:textSize="30sp"
/>

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/Result"
android:textSize="30sp"
/>

</LinearLayout>

*Java 代码:*

public class MainActivity extends Activity
{
TextView textView1 = null;
EditText edittext1 = null;
int no2 = 0;
int centimeters1 = 0;
String text1 ="ssssss";
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

edittext1 = (EditText) findViewById(R.id.edittext1);
textView1 = (TextView) findViewById(R.id.textView1);
text1 = edittext1.getEditableText().toString().trim();
System.out.print(text1);
System.out.print(".................................................");

centimeters1= no2* 24 ;
Button button1 = (Button) findViewById(R.id.Convert);

button1.setOnClickListener(new View.OnClickListener()
{

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
textView1.setText("Your Total is:" + text1);
}

});

}

我尝试使用“system.out.println”以便我可以跟踪这些值,但它没有用(在模拟器中,当我在输入值后运行它时,它只显示“你的总计是:”而没有其他)。谢谢提前,请帮助我。

最佳答案

您的代码是正确的,但有误。

您从 EditText 中得不到任何东西,因为您在它创建后立即检查它的内容。该函数被称为 onCreate 是有原因的:)

移动这个:

text1 = edittext1.getEditableText().toString().trim();

这里:

button1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
text1 = edittext1.getEditableText().toString().trim();
textView1.setText("Your Total is:" + text1);
}
});

这样,您可以在按下按钮的那一刻拾取文本,而不是在创建时拾取文本,当它为空时。

关于android - 没有从 EditText 得到任何东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15765240/

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