Java 从2个按钮获取事件字符串
我正在使用适配器在GridView中生成按钮 使用OnClickListener,每当我从GridView中单击按钮时,都可以在变量中获取按钮的字符串。但是,我想单击一个按钮,将其文本存储在一个变量中,然后单击另一个按钮,将其文本存储在另一个变量中,以便以后可以比较这两个文本。我怎么能这么做 我正在使用OnClickListener,因此我以前对一个按钮的实现如下:Java 从2个按钮获取事件字符串,java,android,Java,Android,我正在使用适配器在GridView中生成按钮 使用OnClickListener,每当我从GridView中单击按钮时,都可以在变量中获取按钮的字符串。但是,我想单击一个按钮,将其文本存储在一个变量中,然后单击另一个按钮,将其文本存储在另一个变量中,以便以后可以比较这两个文本。我怎么能这么做 我正在使用OnClickListener,因此我以前对一个按钮的实现如下: public void onClick(View v) { Button b = (Button)v; String text =
public void onClick(View v) {
Button b = (Button)v;
String text = b.getText.toString();
使用这种方法,我只能从单击的第一个按钮中获取和存储文本,除非我将所有值存储在一个数组中。请共享您的代码以使内容更易于理解?请编辑您的问题。。。无论如何: MainActivity.java
public class MainActivity extends Activity {
private Button button1;
private Button button2;
private String butString, butString2;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
button1 = (Button) findViewById(R.id.button1);
button2 = (Button) findViewById(R.id.button2);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
butString = (String) button1.getText();
}
});
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
butString2 = (String) button1.getText();
}
});
}
}
然后您可以比较这两个字符串。好的,根据我的理解,您希望在网格视图中比较这两个项目的字符串。如果这是您想要的,我会这样做(只是一个伪代码):
相同的事件意味着什么?我有一个OnItemClick事件,因此如果我想获取按钮的文本,我会这样做:按钮b=(按钮)视图;字符串poop=b.getText().toString()。但是我想从2个按钮中获取字符串,这意味着在GridView中单击2个项目,而不是使用注释,在您的…问题中澄清您的问题。并添加相关代码there@azurefrog当然,单击按钮时会触发事件。但我的问题是:点击一个按钮->事件被触发->存储来自按钮的文本。到现在为止,一直都还不错。但我想要另一个序列,意思是将第一个按钮的第一个文本存储在变量中,然后将第二个按钮的第二个文本存储在变量中。可以理解吗?好主意,问题是我使用的是OnClickListener,因此我以前对一个按钮的实现如下:public void onClick(View v){button b=(button)v;String text=b.getText.toString();使用这种方法,我只能从单击的第一个按钮获取和存储文本,除非我将所有值存储在一个数组中。你知道如何为每次读取创建button类型的对象吗?因为我在GridView中使用adapter,这实际上帮不了我多少忙:)我可以添加的代码不多,因为我认为我的qu中已经足够明确了估计:适配器,GridView,生成按钮:)但是谢谢你的提示
String mValue1, mValue2;
boolean isOneClicked = false;
onItemClickedListener(item, position){
if(!isOneClicked){
mValue1 = item.stringValue;
isOneClicked = true;
}
else{
mValue2 = item.stringValue;
//do whatever you want here
//Reset when done
mValue1 = "";
mValue2 = "";
isOneClicked = false;
}
}