将数字连接到从不同数字选择器获取的字符串并在 textView 中显示它们
concatenate numbers to string getting from different number pickers and showing them in a textView
I have a text view, by clicking TextView I have a dialog with 3 NumberPickers. I want to concatenate values to string which will looks like '99 9 99' or '99999'[selected integers from NumberPickers] from all 3 different NumberPickers shown in dialog, and set the string to the textView.
public void pricePTola() {
//int price;
//TextView;
//double RPT;
NumberPicker np1, np2, np3;
final int npThousand, npHundrd, npTen;
//final String[] price = new String[1];
String price;
TextView textView = (TextView)findViewById(R.id.RPT);
Dialog dialog = new Dialog(HomeActivity.this);
dialog.requestWindowFeature(Window.FEATURE_LEFT_ICON);
dialog.setContentView(R.layout.number_picker);
dialog.setTitle("RATE PER TOLA");
//dialog.set
//String strPrice = String.valueOf(price);
//TextView RPT=(TextView)findViewById(R.id.RPT);
np1=(NumberPicker)dialog.findViewById(R.id.np1);
np1.setMaxValue(99);
np1.setMinValue(00);
np1.setWrapSelectorWheel(true);
npThousand=np1.getValue();
//npThousand=np1.toString();
np2=(NumberPicker)dialog.findViewById(R.id.np2);
np2.setMaxValue(9);
np2.setMinValue(0);
np1.setWrapSelectorWheel(true);
npHundrd=np2.getValue();
//npHundrd=np2.toString();
np3=(NumberPicker)dialog.findViewById(R.id.np3);
np3.setMaxValue(99);
np3.setMinValue(00);
np1.setWrapSelectorWheel(true);
npTen=np3.getValue();
np3.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {
@Override
public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
picker.setValue((newVal < oldVal)?oldVal-5:oldVal+5);
/*price[0] = npThousand + "" + npHundrd + "" + npTen;
TextView RPT = (TextView) findViewById(R.id.RPT);
RPT.setText(price[0]);*/
}
});
/*np2.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {
@Override
public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
picker.setValue((newVal < oldVal)?oldVal-5:oldVal+5);
price[0] = npThousand + "" + npHundrd + "" + npTen;
TextView RPT = (TextView) findViewById(R.id.RPT);
RPT.setText(price[0]);
}
});
np1.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {
@Override
public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
picker.setValue((newVal < oldVal)?oldVal-5:oldVal+5);
price[0] = npThousand + "" + npHundrd + "" + npTen;
TextView RPT = (TextView) findViewById(R.id.RPT);
RPT.setText(price[0]);
}
});
dialog.show();
//price = valueOf(valueOf(np1) + valueOf(np2) + valueOf(np3));
price = npThousand+""+ npHundrd+""+npTen;
TextView RPT=(TextView)findViewById(R.id.RPT);
RPT.setText(price);
}
MainActivity.Java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawer.addDrawerListener(toggle);
toggle.syncState();
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
final TextView TV1=(TextView)findViewById(RPT);
TV1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
pricePTola();
}
});
1- 我看到您应该将函数 pricePTola return 设为字符串并且您不应该在其上声明 TextView。
2 - 在每个 onvalueChange 函数的 pricePTola 函数中,您必须放置 npThousand=np1.getValue();为 np1 做同样的事情为其他两个选择器。
3-函数结束String result = String.valueOf(npThousand)+String.valueOf(npHundrd)+String.valueOf(npTen);
return result;
4 - 终于 oncreate
TV1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String final = pricePTola();
TV1.setText(final);
}
});
希望对您有所帮助
I have a text view, by clicking TextView I have a dialog with 3 NumberPickers. I want to concatenate values to string which will looks like '99 9 99' or '99999'[selected integers from NumberPickers] from all 3 different NumberPickers shown in dialog, and set the string to the textView.
public void pricePTola() {
//int price;
//TextView;
//double RPT;
NumberPicker np1, np2, np3;
final int npThousand, npHundrd, npTen;
//final String[] price = new String[1];
String price;
TextView textView = (TextView)findViewById(R.id.RPT);
Dialog dialog = new Dialog(HomeActivity.this);
dialog.requestWindowFeature(Window.FEATURE_LEFT_ICON);
dialog.setContentView(R.layout.number_picker);
dialog.setTitle("RATE PER TOLA");
//dialog.set
//String strPrice = String.valueOf(price);
//TextView RPT=(TextView)findViewById(R.id.RPT);
np1=(NumberPicker)dialog.findViewById(R.id.np1);
np1.setMaxValue(99);
np1.setMinValue(00);
np1.setWrapSelectorWheel(true);
npThousand=np1.getValue();
//npThousand=np1.toString();
np2=(NumberPicker)dialog.findViewById(R.id.np2);
np2.setMaxValue(9);
np2.setMinValue(0);
np1.setWrapSelectorWheel(true);
npHundrd=np2.getValue();
//npHundrd=np2.toString();
np3=(NumberPicker)dialog.findViewById(R.id.np3);
np3.setMaxValue(99);
np3.setMinValue(00);
np1.setWrapSelectorWheel(true);
npTen=np3.getValue();
np3.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {
@Override
public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
picker.setValue((newVal < oldVal)?oldVal-5:oldVal+5);
/*price[0] = npThousand + "" + npHundrd + "" + npTen;
TextView RPT = (TextView) findViewById(R.id.RPT);
RPT.setText(price[0]);*/
}
});
/*np2.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {
@Override
public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
picker.setValue((newVal < oldVal)?oldVal-5:oldVal+5);
price[0] = npThousand + "" + npHundrd + "" + npTen;
TextView RPT = (TextView) findViewById(R.id.RPT);
RPT.setText(price[0]);
}
});
np1.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {
@Override
public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
picker.setValue((newVal < oldVal)?oldVal-5:oldVal+5);
price[0] = npThousand + "" + npHundrd + "" + npTen;
TextView RPT = (TextView) findViewById(R.id.RPT);
RPT.setText(price[0]);
}
});
dialog.show();
//price = valueOf(valueOf(np1) + valueOf(np2) + valueOf(np3));
price = npThousand+""+ npHundrd+""+npTen;
TextView RPT=(TextView)findViewById(R.id.RPT);
RPT.setText(price);
}
MainActivity.Java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawer.addDrawerListener(toggle);
toggle.syncState();
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
final TextView TV1=(TextView)findViewById(RPT);
TV1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
pricePTola();
}
});
1- 我看到您应该将函数 pricePTola return 设为字符串并且您不应该在其上声明 TextView。
2 - 在每个 onvalueChange 函数的 pricePTola 函数中,您必须放置 npThousand=np1.getValue();为 np1 做同样的事情为其他两个选择器。
3-函数结束String result = String.valueOf(npThousand)+String.valueOf(npHundrd)+String.valueOf(npTen);
return result;
4 - 终于 oncreate
TV1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String final = pricePTola();
TV1.setText(final);
}
});
希望对您有所帮助