我是android开发新手。在XML文件中,我有2个数字文本字段和一个按钮,通过按下按钮我想获取用户输入的文本字段的内容并在另一个类中使用它,我知道我应该使用button.OnClickListener
方法但是放进这个功能?
答案 0 :(得分:4)
我认为如果你一步一步地解决你的问题而谷歌那么,你就能得到答案。这完全是把事情放在一起的问题。
您可以问自己的问题:
如何从TextView获取数据?
如何将其发送到其他活动?
如何在另一项活动中接收数据?
为方便起见,这里有一些可以帮到你的事情:
在该函数内部(button.OnClickListener
)尝试从TextView
获取文字,如:
TextView tv1 = (TextView)findViewById(R.id.tv1);
String input1 = tv1.getText().toString(); //tv1 is textView
TextView tv2 = (TextView)findViewById(R.id.tv2);
String input2 = tv2.getText().toString();
然后您可以使用intent将该文本传输到另一个活动:
Intent i = new Intent(CurrentClassName.this, DestinationClass.class);
i.putExtra("text1", input1); //include the strings that you got from textView
i.putExtra("text2", input2);
startActivity(i);
在目标活动中,您可以在onCreate()
中提取这些字符串,如:
Intent intent = getIntent();
String text1 = intent.getExtras().getString("text1");
String text2 = intent.getExtras().getString("text2");
希望这会有所帮助。
答案 1 :(得分:0)
确保为布局文件中的文本字段设置android:id
。从button.OnClickListener
开始完成后,您可以按ID查找文本视图,并按如下方式获取文本:
TextView tv = (TextView)findViewById(R.id.id_of_text_field);
String text = tv.getText().toString();
然后转移到另一个活动,将字符串添加到Bundle
并将Bundle
添加到Intent
,如下所示:
Intent intent = new Intent(this, NextActivity.class);
Bundle bundle = new Bundle();
bundle.putString(KEY_TO_FIND_STRING, text);
intent.putExtras(bundle);
startActivity(intent);
然后在您的新活动中,您将从包中获取字符串,如下所示:
Bundle b = getIntent().getExtras();
String text = null;
if( b != null ){
text = b.getString(KEY_TO_FIND_STRING);
}
答案 2 :(得分:0)
SetOnClickListner
的方法Button
采用View.OnClickListener
的实例,此实例通常是匿名实现的,如下所示:
button.setOnClickListner(new View.OnClickListner(){
public void onClick(View v){
//code which runs when action performed
}
}
在此侦听器中,您可以实现逻辑,例如将两个数字相加
String s1 = editText1.getText();
String s2 = editText2.getText();
int sum = Integer.parseInt(s1) + Integer.parseInt(s2);
您可以查看Shobhit Puri
了解更多详情
请参阅: