Android分享按钮

时间:2011-11-22 09:55:43

标签: java android arrays string

编辑*:对于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);

1 个答案:

答案 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();
}