조각 내의 내 버튼이 작동하지 않습니다. 오류가 없으며 무엇이 잘못되었는지 알지 못합니다.버튼 내부 조각은 오류없이 작동하지 않습니다.
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Toast;
public class GenApp extends Fragment {
EditText etBillAmt;
Spinner spinType, spinHours, spinDays, spinWeeks;
EditText etWattage, etHour, etDay, etWeek, etMonth;
Button btnCalculate;
String BillAmountS,h,d,w;
int i,dfrm,wfrm;
double BillAmount, PKwh, WattDouble, CPH, CPD, CPW, CPM, hrfrm;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
final View rootView = inflater.inflate(R.layout.genapp, container, false);
h = "8";
d = "7";
w = "4";
etBillAmt = (EditText)rootView.findViewById(R.id.etBillAmt);
spinType = (Spinner) rootView.findViewById(R.id.spinType);
spinHours = (Spinner) rootView.findViewById(R.id.spinHours);
spinDays = (Spinner) rootView.findViewById(R.id.spinDays);
spinWeeks = (Spinner) rootView.findViewById(R.id.spinWeeks);
etWattage = (EditText)rootView.findViewById(R.id.etWattage);
etHour = (EditText)rootView.findViewById(R.id.etHour);
etDay = (EditText)rootView.findViewById(R.id.etDay);
etWeek = (EditText)rootView.findViewById(R.id.etWeek);
etMonth = (EditText)rootView.findViewById(R.id.etMonth);
btnCalculate = (Button)rootView.findViewById(R.id.btnCalculate);
final String[] apptypearray = {"AIR COOLER/HUMIDIFIER", "BLENDER", "CELLPHONE CHARGER", "CFL(10 WATTS)", "CFL(18 WATTS)", "CHRISTMAS LIGHT(100 BULBS W/O BLINKER)", "CHRISTMAS LIGHT(100 BULBS W/ BLINKER)",
"CLOTHES DRYER(HEATER)", "CLOTHES DRYER(MOTOR)", "COFFEE MAKER", "COMPUTER PRINTER", "COMPUTER W/MONITOR", "FLAT IRON(STANDARD)", "FLAT IRON(DELUXE)", "FLOOR POLISHER(STANDARD)", "FLOOR POLISHER(DELUXE)",
"FLUORESCENT LAMP 21' (20 WATTS)", "FLUORESCENT LAMP 48' (40 WATTS)", "HAIR DRYER", "INCANDESCENT BULB (25 WATTS)", "INCANDESCENT BULB (50 WATTS)", "INCANDESCENT (100 WATTS)", "RECHARGEABLE LIGHTS/FANS", "SEWING MACHINE",
"VACUUM CLEANER", "WAHING MACHINE AUTOMATIC (6 KG)", "WASHING MACHINE AUTOMATIC (10 KG)", "WASHING MACHINE TWIN TUB (6 KG)", "WASHING MACHINE TWIN TUB (10 KG)", "WATER DISPENSER(COOLING)", "WATER DISPENSER(HEATING)",
"WATER HEATER", "WATER HEATER (PORTABLE)", "OTHER GENERAL APPLIANCES"};
final double[] wattagearray = {65, 300, 6, 10, 18, 56, 16, 1600, 250, 600, 175, 225, 600, 1000, 200, 360, 32, 53, 320, 25, 50, 100, 12, 75, 800, 527, 1035, 277, 583, 90, 550, 3000, 1600};
final double[] KWh = {0.33, 5.18, 6.64, 8.08, 10.12, 10.50, 10.87, 11.54, 11.80};
final String[] hoursarray = {"15 minutes","30 minutes","45 minutes","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24"};
final String[] daysarray = {"1","2","3","4","5","6","7"};
final String[] weeksarray = {"1","2","3","4"};
ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_item, apptypearray);
spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinType.setAdapter(spinnerArrayAdapter);
spinType.setPrompt("Please choose your Appliance");
spinType.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int position, long l) {
for (i = 0; i<apptypearray.length; i++){
if(spinType.getItemAtPosition(position) == apptypearray[i]) {
try {
etWattage.setText(String.valueOf(wattagearray[i]));
} catch (Exception e) {
Toast.makeText(getActivity().getApplicationContext(), "Missing Entries", Toast.LENGTH_SHORT).show();
}
}
}
etHour.setText("");
etDay.setText("");
etWeek.setText("");
etMonth.setText("");
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
ArrayAdapter<String> HourArrayAdapter = new ArrayAdapter<String>(getActivity(),android.R.layout.simple_spinner_item, hoursarray);
HourArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinHours.setAdapter(HourArrayAdapter);
int GP1 = HourArrayAdapter.getPosition(h);
spinHours.setSelection(GP1);
spinHours.setPrompt("Hours Used Per Day");
spinHours.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> houradapterView, View view, int hpos, long l) {
for(int hctr = 0; hctr<hoursarray.length; hctr++){
if(spinHours.getItemAtPosition(hpos) == hoursarray[0]) {
hrfrm = 0.25;
}
else if (spinHours.getItemAtPosition(hpos) == hoursarray[1]) {
hrfrm = 0.5;
}
else if (spinHours.getItemAtPosition(hpos) == hoursarray[2]) {
hrfrm = 0.75;
}
else if (spinHours.getItemAtPosition(hpos) == hoursarray[hctr]) {
hrfrm = Double.parseDouble(hoursarray[hctr]);
}
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
ArrayAdapter<String> DayArrayAdapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_item, daysarray);
spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_item);
spinDays.setAdapter(DayArrayAdapter);
int GP2 = DayArrayAdapter.getPosition(d);
spinDays.setSelection(GP2);
spinDays.setPrompt("Days Used Per Week");
spinDays.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> DayadapterView, View view, int dpos, long l) {
for(int dctr = 0; dctr<daysarray.length;dctr++)
{
if(spinDays.getItemAtPosition(dpos)==daysarray[dctr])
{
dfrm = Integer.parseInt(daysarray[dctr]);
}
}
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
ArrayAdapter<String> WeekArrayAdapter = new ArrayAdapter<String>(getActivity(),android.R.layout.simple_spinner_item, weeksarray);
WeekArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinWeeks.setAdapter(WeekArrayAdapter);
int GP3 = WeekArrayAdapter.getPosition(w);
spinWeeks.setSelection(GP3);
spinWeeks.setPrompt("Weeks used per Month");
spinWeeks.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> WeekadapterView, View view, int wpos, long l) {
for(int wkctr = 0; wkctr<weeksarray.length; wkctr++){
if(spinWeeks.getItemAtPosition(wpos)==weeksarray[wkctr]) {
wfrm = Integer.parseInt(weeksarray[wkctr]);
}
}
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
btnCalculate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View rootView) {
try {
WattDouble = Double.parseDouble(etWattage.getText().toString());
BillAmountS = etBillAmt.getText().toString();
BillAmount = Double.parseDouble(BillAmountS);
if (BillAmount >= 0 && BillAmount <= 108) {
PKwh = KWh[0];
} else if (BillAmount >= 109 && BillAmount <= 338) {
PKwh = KWh[1];
} else if (BillAmount >= 339 && BillAmount <= 573) {
PKwh = KWh[2];
} else if (BillAmount >= 574 && BillAmount <= 1021) {
PKwh = KWh[3];
} else if (BillAmount >= 1022 && BillAmount <= 2109) {
PKwh = KWh[4];
} else if (BillAmount >= 2110 && BillAmount <= 3271) {
PKwh = KWh[5];
} else if (BillAmount >= 3272 && BillAmount <= 4625) {
PKwh = KWh[6];
} else if (BillAmount >= 4626 && BillAmount <= 7684) {
PKwh = KWh[7];
} else if (BillAmount >= 7685) {
PKwh = KWh[8];
} else {
Toast.makeText(getActivity().getApplicationContext(), "Invalid Amount", Toast.LENGTH_LONG);
}
/*Cost per hour = Rate x [(appliance wattage x 0.8 x 0.8) + (appliance wattage x 0.2)]/1000)*/
CPH = PKwh * (WattDouble/1000);
CPD = CPH * hrfrm;
CPW = CPD * dfrm;
CPM = CPW * wfrm;
etHour.setText("PhP " + String.format("%.2f", CPH));
etDay.setText("PhP " + String.format("%.2f", CPD));
etWeek.setText("PhP " + String.format("%.2f", CPW));
etMonth.setText("PhP " + String.format("%.2f", CPM));
} catch (NumberFormatException e) {
Toast.makeText(getActivity().getApplicationContext(), "Invalid Entry", Toast.LENGTH_LONG);
}
}
});
return rootView;
}
}
클릭에에 원래보기이었다 : (view v)
와 나는 inflater.inflate
그래서 난 (view rootView)
로 변경 내 같은 이름을해야 말을 인터넷으로 뭔가를 읽어 보시기 바랍니다. 두 사람에게 아무 일도 일어나지 않았습니다. 버튼은 여전히 작동하지 않습니다.
하고 btnCalculate 방법을 초기화 할을 받고 있는지 확인하기 위해 초기화? – merterpam
btnCalculate = (Button) rootView.findViewById (R.id.btnCalculate); 최종 뷰 바로 다음에 초기화했습니다. rootView = inflater.inflate (R.layout.genapp, container, false); 선. 고맙습니다! –
너무 길지 않은 경우 전체 onCreateView 코드 (또는 단순화 된 버전)와 XML 레이아웃을 게시 할 수 있습니까? 클릭 이벤트를 차단할 수있는 레이아웃이 있습니까? – merterpam