我正在使用适配器在GridView中生成按钮。
使用OnClickListener,每当我从GridView中单击一个按钮时,就可以在变量中获取按钮的String。但是,我想单击一个按钮,将其文本存储在变量中,然后单击另一个按钮,将其文本存储在另一个变量中,以便稍后我可以比较这两个文本。我怎么能这样做?
g我正在使用OnClickListener,因此我之前对一个按钮的实现如下:
public void onClick(View v) {
Button b = (Button)v;
String text = b.getText.toString();
使用这种方法,我只能点击第一个按钮来获取和存储文本,除非我将所有值存储在数组中。
答案 0 :(得分:0)
请您分享您的代码以使事情变得更易于理解?请编辑您的问题......无论如何:
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();
}
});
}
}
之后你可以比较两个字符串。
答案 1 :(得分:0)
好的,根据我的理解,你想比较网格视图中两个项目的字符串。如果这是你想要的,继续我将如何做(只是一个伪代码):
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;
}
}