编辑*:对于hovanessyan
private String getWheelValue(int id) {
WheelView wheel = getWheel(R.id.passw_1);
int index = wheel.getCurrentItem();
((ArrayWheelAdapter<String>) wheel.getViewAdapter()).getItemText(index).toString();
final String values = getWheelValue(R.id.passw_1) + " " + getWheelValue(R.id.passw_2) + " " + getWheelValue(R.id.passw_3);
答案 0 :(得分:1)
首先,由于以下原因,您的代码无法编译:
initWheel(R.id.passw_2, new String[] { "Are", "Going", ""Went });
initWheel(R.id.passw_3, new String[] { "There", "Here", ""Away });
您的按钮未点击,因为在显示的代码中,您从不致电getWheelValue()
您应该在onCreate()方法中获得对按钮的引用并附加onClickListener。
你应该用......之类的东西开始你的改变。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.passw_layout);
initWheel(R.id.passw_1, new String[] { "You", "Me", "Us" });
initWheel(R.id.passw_2, new String[] { "Are", "Going", "Went" });
initWheel(R.id.passw_3, new String[] { "There", "Here", "Away" });
Button mix = (Button) findViewById(R.id.btn_mix);
mix.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
mixWheel(R.id.passw_1);
mixWheel(R.id.passw_2);
mixWheel(R.id.passw_3);
}
});
Button share = (Button) findViewById(R.id.btn_share);
share.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// call some other methods before that I guess...
String values = getAllWheelValues();
startActivity(createEmailIntent(values));
}
});
}
private Intent createEmailIntent(String values) {
Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
emailIntent.setType("text/plain");
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, getResources().getString(R.string.Subject));
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, values);
return emailIntent;
}
编辑:
我认为您应该有类似的内容,并在分享按钮的getAllWheelValues()
中致电onClick()
:
private String getAllWheelValues() {
String val1 = getWheelValue(R.id.passw_1);
String val2 = getWheelValue(R.id.passw_2);
String val3 = getWheelValue(R.id.passw_3);
return val1+" "+val2+" "+val3;
}
private String getWheelValue(int id) {
WheelView wheel = getWheel(id);
int index = wheel.getCurrentItem();
return ((ArrayWheelAdapter<String>) wheel.getViewAdapter()).getItemText(index).toString();
}