有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何将警报框值传递给片段

我有两个java文件,一个是片段,另一个是DialogFragment。在我的应用程序中,我会显示带有单选按钮的警报框。如果用户选择任何选项,我想将该项传递给片段(Address fragment)。我写了一些代码显示警报框。但是,我无法将该项目传递给地址片段

请任何人帮帮我

我的代码在这里

地址片段。爪哇:

public class AddressFragment extends Fragment implements RadioListAlert.AddressListener { int position = 0; EditText line1; EditText line2; EditText landmark; AutoCompleteTextView cityText; EditText zipcode; Spinner country; Spinner state; RadioGroup tag; Button savaddr; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_layout_address, container, false); savaddr = (Button) view.findViewById(R.id.addrsave); tag = (RadioGroup) view.findViewById(R.id.radioGroup); line1 = (EditText) view.findViewById(R.id.line1); line2 = (EditText) view.findViewById(R.id.line2); cityText = (AutoCompleteTextView) view.findViewById(R.id.city_autoCompleteTextView); zipcode = (EditText) view.findViewById(R.id.zipcode); country = (Spinner) view.findViewById(R.id.countrySpinner); state = (Spinner) view.findViewById(R.id.stateSpinner); landmark = (EditText) view.findViewById(R.id.landmark); // Get a reference to the AutoCompleteTextView in the layout AutoCompleteTextView textView = (AutoCompleteTextView) view.findViewById(R.id.city_autoCompleteTextView); // Get the string array String[] city = getResources().getStringArray(R.array.city); // Create the adapter and set it to the AutoCompleteTextView ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(), 安卓.R.layout.simple_list_item_1, city); textView.setAdapter(adapter); savaddr.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String addr1 = line1.getText().toString(); String addr2 = line2.getText().toString(); String addr_city = cityText.getText().toString(); String addr_zipcode = zipcode.getText().toString(); String addr_country = country.getSelectedItem().toString(); String addr_state = state.getSelectedItem().toString(); //Field Validation if (Utility.isNotNull(addr1) && Utility.isNotNull(addr2) && Utility.isNotNull(addr_city) && Utility.isNotNull(addr_zipcode) && Utility.isNotNull(addr_country) && Utility.isNotNull(addr_state)) { if (Utility.line2_validate(addr2)) { if (Utility.line2_validate(addr_city)) { Toast.makeText(getActivity().getApplicationContext(), "Success.", Toast.LENGTH_SHORT).show(); new RadioListAlert().setListener(this).show(getActivity().getFragmentManager(), "Radio Alert");// I got error in this line setListener(this) } else { cityText.setError("Enter valid City"); } } else { line2.setError("Enter valid Address"); } } else { Toast.makeText(getActivity().getApplicationContext(), "Please fill the form, don't leave any field blank", Toast.LENGTH_SHORT).show(); } } }); return view; } @Override public void itemClicked(String text) { TextView tv = (TextView) getActivity().findViewById(R.id.tv_安卓); /** Setting the selected 安卓 version in the textview */ tv.setText("Your Choice : " + text); } }

放射科医生。爪哇:

public class RadioListAlert extends DialogFragment { CharSequence[] tag = { "BMW", "AUDI", "MERCEDES", "FERRARI", "SKODA" }; private AddressListener addressListener; private String itemClicked; @Override public Dialog onCreateDialog(Bundle savedInstanceState) { AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); builder.setCancelable(true); builder.setTitle("Tag Your Car").setSingleChoiceItems(tag, -1, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(getActivity(), tag[which],Toast.LENGTH_SHORT).show(); itemClicked = (String) tag[which]; } }).setPositiveButton("Ok", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { if (addressListener != null) addressListener.itemClicked(itemClicked); //to dismiss the dialog after user choose an item and click ok, you can also add some validation before dismissing the dialog dismiss(); } }).setNegativeButton("Cancel",new DialogInterface.OnClickListener(){ @Override public void onClick(DialogInterface dialog, int which) { dismiss(); } }); return builder.create(); } public void setListener(AddressListener addressListener) { this.addressListener = addressListener; } public interface AddressListener { void itemClicked(String text); } }

我在地址片段的这一行有个错误:

新Radioistalert()。setListener(这个)。显示(getActivity()。getFragmentManager(),“无线电警报”); 尤其地setListener(这个

这是一个错误:

setListener(RadioListAlert.AddressListener) in RadioListAlert cannot be applied to (anonymous 安卓.view.View.OnClickListener)

请任何人帮帮我

提前谢谢

Tags:  

共 (0) 个答案