在其他类中如何使用IF/其他输出



我尝试具有我的Flightact活动中的deptrurocity值(在FlightCityOnitemSelectedListener class中设置为If/else of onItemselect方法)

现在,如何获得所有我的flightact.java的偏爱?还是其他活动?因为我将在方法中使用许多变量。如何使用它们来使用它们?

package ir.safarbazha.safarbazha.Core.adapter;
import android.provider.Settings;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Spinner;
import android.widget.Toast;
public class FlightCityOnItemSelectedListener
        implements AdapterView.OnItemSelectedListener {
    String departureCity;
    public void onItemSelected(
            AdapterView<?> parent,
            View view,
            int pos,
            long id
    ) {
        String selectedCity = parent.getItemAtPosition(pos).toString();
        if (selectedCity.equals("آبادان")) {
            departureCity="ABD";
            Toast.makeText(parent.getContext(),
                    "آنچه انتخاب شد : " +
                            parent.getItemAtPosition(pos).toString(),
                    Toast.LENGTH_SHORT).show();
        }
    }
    @Override
    public void onNothingSelected(AdapterView<?> arg0) {
        // TODO Auto-generated method stub
    }
}

=========================================================================================

package ir.safarbazha.safarbazha.Acts;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.content.res.Configuration;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.ButtonBarLayout;
import android.support.v7.widget.Toolbar;
import android.view.LayoutInflater;
import android.view.View;
import android.view.animation.Animation;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.RadioButton;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Locale;
import ir.safarbazha.safarbazha.Core.adapter.DrawerCustomListAdapter;
import ir.safarbazha.safarbazha.Core.adapter.FlightCityOnItemSelectedListener;
import ir.safarbazha.safarbazha.R;
import uk.co.chrisjenx.calligraphy.CalligraphyContextWrapper;
public class FlightAct extends AppCompatActivity {
    Context currentActivity=FlightAct.this;
    ActionBar mainActionbar;
    ImageView mainToolbarMenu;
    ImageView mainToolbarHome;
    ImageView mainToolbarAbout;
    ImageView mainToolbarAccount;
    ImageView mainToolbarSearch;
    DrawerLayout mainDLayout;
    DrawerCustomListAdapter mainDCLAdapter;
    String[] mainDitems;
    List<String> mainDItems;
    ListView mainDLV;
    //Just For This Activity...
    Spinner departureCity , arrivalCity;
    TextView departureDate , arrivalDate , capacityCount;
    RadioButton radioButtonOneWayFlightType , radioButtonRoundTripFlightType;
    Button btnSubmitFlightForm;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //Localize...
        if (!Locale.getDefault().getLanguage().equals("fa")){
            String languageToLoad  = "fa";
            Locale locale = new Locale(languageToLoad);
            Locale.setDefault(locale);
            Configuration config = new Configuration();
            config.locale = locale;
            getBaseContext().getResources().updateConfiguration(config,
                    getBaseContext().getResources().getDisplayMetrics());
            this.setContentView(R.layout.act_flight);
        }
        setContentView(R.layout.act_flight);
        //Set Custom ToolBar...
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        mainActionbar=getSupportActionBar();
        final LayoutInflater inflator = (LayoutInflater) this
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View v = inflator.inflate(R.layout.toolbar, null);
        mainActionbar.setCustomView(v);
        mainActionbar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
        //Set Custom ToolBar Objects...
        //MainToolBar Menu Image Object...
        mainToolbarMenu=(ImageView)findViewById(R.id.nav_drawer_menu);
        mainToolbarMenu.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (mainDLayout.isDrawerOpen(GravityCompat.START))
                    mainDLayout.closeDrawer(GravityCompat.START);
                else mainDLayout.openDrawer(GravityCompat.START);
            }
        });
        //Main ToolBar Home Image Object...
        mainToolbarHome=(ImageView)findViewById(R.id.toolbar_home_icon);
        mainToolbarHome.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startActivity(new Intent(currentActivity,HomeAct.class));
            }
        });
        //Main ToolBar About Image Object...
        mainToolbarAbout=(ImageView)findViewById(R.id.toolbar_about_icon);
        mainToolbarAbout.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startActivity(new Intent(currentActivity,AboutAct.class));
            }
        });
        //Main ToolBar Account Image Object...
        mainToolbarAccount=(ImageView)findViewById(R.id.toolbar_account_icon);
        mainToolbarAccount.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startActivity(new Intent(currentActivity,AccountAct.class));
            }
        });
        //Main ToolBar Search Image Object...
        mainToolbarSearch=(ImageView)findViewById(R.id.toolbar_search_icon);
        mainToolbarSearch.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startActivity(new Intent(currentActivity,SearchAct.class));
            }
        });
        //Set Custom Navigation Drawer...
        mainDLayout=(DrawerLayout)findViewById(R.id.drawer_layout);
        mainDLV=(ListView)findViewById(R.id.drawer_lv);
        mainDitems= getResources().getStringArray(R.array.main_titles);
        mainDItems=new ArrayList<String>(Arrays.asList(mainDitems));
        mainDCLAdapter=new DrawerCustomListAdapter(this,mainDItems);
        mainDLV.setAdapter(mainDCLAdapter);
        mainDLV.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                String selectedItem = getResources().getStringArray(R.array.main_titles)[position];
                if (position==0)
                    startActivity(new Intent(currentActivity, HomeAct.class));
                else if (position == 1)
                    startActivity(new Intent(currentActivity,AboutAct.class));
                else if (position == 2)
                    startActivity(new Intent(currentActivity, PostAct.class));
                else if (position == 3)
                    Snackbar.make(view, "کاربر گرامی شما هم اکنون در *پرواز ها* برنامه سفر باز ها هستید!", Snackbar.LENGTH_LONG)
                            .setAction("Action", null).show();
                else if (position == 4)
                    startActivity(new Intent(currentActivity, ProductAct.class));
                else if (position == 5)
                    startActivity(new Intent(currentActivity, AccountAct.class));
                else if (position == 6)
                    startActivity(new Intent(currentActivity, ContactAct.class));
            }
        });
        //Just For This Activity...
        addListenerOnButton();
        addListenerOnSpinnerItemSelection();
        //Selected Departure And Arrival Airports...
        departureCity=(Spinner)findViewById(R.id.departure_city);
        arrivalCity=(Spinner)findViewById(R.id.arrival_city);
        //Selected Flight Type (OneWay or RoundTrip)...
        radioButtonOneWayFlightType=(RadioButton)findViewById(R.id.btnRadioOneWayFlightType);
        radioButtonRoundTripFlightType=(RadioButton)findViewById(R.id.btnRadioRoundTripFlightType);
        radioButtonOneWayFlightType.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                arrivalDate.setVisibility(View.GONE);
            }
        });
        radioButtonRoundTripFlightType.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                arrivalDate.setVisibility(View.VISIBLE);
            }
        });
        //Selected Departure And Arrival Date...
        departureDate=(TextView)findViewById(R.id.departure_date);
        arrivalDate=(TextView)findViewById(R.id.arrival_date);
        //Selected Count Of Capacity...
        capacityCount=(TextView)findViewById(R.id.capacity_count);
    }
    //Set Custom Font For All Views in Core/app/AppController ...
    @Override
    protected void attachBaseContext(Context newBase) {
        super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase));
    }
    //Just For This Activity...
    //DropDown City Choosing...
    public void addListenerOnSpinnerItemSelection() {
        departureCity = (Spinner) findViewById(R.id.departure_city);
        arrivalCity = (Spinner)findViewById(R.id.arrival_city);
        departureCity.setOnItemSelectedListener(new FlightCityOnItemSelectedListener());
        arrivalCity.setOnItemSelectedListener(new FlightCityOnItemSelectedListener());
    }
    // get the selected dropdown list value
    public void addListenerOnButton() {
        departureCity = (Spinner) findViewById(R.id.departure_city);
        arrivalCity = (Spinner) findViewById(R.id.arrival_city);
        btnSubmitFlightForm = (Button) findViewById(R.id.btnSubmitFlightActForm);
        btnSubmitFlightForm.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(currentActivity,"OnClickListener : "
                        +"nشهر مبدا : "+
                        String.valueOf(departureCity.getSelectedItem())
                        +
                        "nشهر مقصد : "+
                        String.valueOf(arrivalCity.getSelectedItem())
                        ,
                        Toast.LENGTH_SHORT).show();
            }
        });
    }
}

将所需的数据保存在类变量中。

您可以使用捆绑包将数据发送到可以访问该数据的其他活动。

代码示例将数据存储在用于启动第二个活动

的意图中
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
Bundle b = new Bundle();
b.putString("stringvalue", strValue);
b.putLong("longvalue", lngValue);
b.putDouble("doublevalue", doubValue);
b.putBoolean("boolvalue", boolValue);
intent.putExtras(b);
startActivity(intent);

代码从第二个活动中获取捆绑包的数据(此代码将放置在 increate()方法中):

    // get the Intent that started this Activity
   Intent in = getIntent();
   Bundle b = in.getExtras();
   String strValue= b.getString("stringvalue");
   long longValue = b.getLong("longvalue");
   double doubleValue= b.getDouble("doublevalue");
   boolean boolValue= b.getBoolean("boolvalue");

您可以使其静态,因此您可以在其他类中的任何地方使用它。

更改"公共静态字符串deptrurocity",而不是"字符串deptrurecity";

然后您可以这样称呼:FlightCityOnitemSelectedListener.departurecity(没有实例化FlightcityOnitemSelectedListener)。

最新更新