I managed to use the spinner in my code and wanted to change the textColor of specific text in the MainActivity file through this spinner, but it is in another class file - Einstellungen . Is it possible to change textColor in current activity from another action?
This is main_activity.xml where I want to change the color of the text:
<TextView android:id="@+id/speedtext" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="180dp" android:gravity="center" android:singleLine="true" android:text="TEXT" android:textColor="@android:color/white" android:textSize="220sp" />
This is the activity of Einstellungen:
public class Einstellungen extends AppCompatActivity { String[] names = {"Weiß", "Blau", "Rot"}; String[] des = {"Weiß", "Blau", "Rot"}; ArrayAdapter<String> adapter; Spinner spinner; TextView description; public Button button; public void init() { button = (Button) findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { Intent toy = new Intent(Einstellungen.this, MainActivity.class); startActivity(toy); } }); } protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_einstellungen); spinner = (Spinner) findViewById(R.id.spinner); description = (TextView) findViewById(R.id.text); adapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1, names); spinner.setAdapter(adapter); spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) { switch (i) { case 0: description.setText("" + des[i]); MainActivity.speed.setTextColor(Color.WHITE); break; case 1: description.setText("" + des[i]); MainActivity.speed.setTextColor(Color.BLUE); break; case 2: description.setText("" + des[i]); MainActivity.speed.setTextColor(Color.RED); break; } } public void onNothingSelected(AdapterView<?> adapterView) { } }); init(); } }
MainActivity:
public class MainActivity extends AppCompatActivity { LocationService myService; static boolean status; LocationManager locationManager; static TextView dist, time, speed; static long startTime, endTime; ImageView image; static ProgressDialog locate; static int p = 0; private ServiceConnection sc = new ServiceConnection() { public void onServiceConnected(ComponentName name, IBinder service) { LocationService.LocalBinder binder = (LocationService.LocalBinder) service; myService = binder.getService(); status = true; } public void onServiceDisconnected(ComponentName name) { status = false; } }; public Button button; public void init() { button = (Button) findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { Intent toy = new Intent(MainActivity.this, Einstellungen.class); startActivity(toy); } }); } void bindService() { if (status == true) return; Intent i = new Intent(getApplicationContext(), LocationService.class); bindService(i, sc, BIND_AUTO_CREATE); status = true; startTime = System.currentTimeMillis(); } void unbindService() { if (status == false) return; Intent i = new Intent(getApplicationContext(), LocationService.class); unbindService(sc); status = false; } protected void onResume() { super.onResume(); } protected void onStart() { super.onStart(); } protected void onDestroy() { super.onDestroy(); if (status == true) unbindService(); } public void onBackPressed() { if (status == false) super.onBackPressed(); else moveTaskToBack(true); } protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); speed = (TextView) findViewById(R.id.speedtext); image = (ImageView) findViewById(R.id.image); start(); init(); } public void start() { checkGps(); locationManager = (LocationManager) getSystemService(LOCATION_SERVICE); if (!locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) { return; } if (status == false) bindService(); locate = new ProgressDialog(MainActivity.this); locate.setIndeterminate(true); locate.setCancelable(false); locate.setMessage("Suche GPS-Signal"); locate.show(); } void checkGps() { locationManager = (LocationManager) getSystemService(LOCATION_SERVICE); if (!locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) { showGPSDisabledAlertToUser(); } } private void showGPSDisabledAlertToUser() { AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this); alertDialogBuilder.setMessage("Bitte GPS aktivieren") .setCancelable(false) .setPositiveButton("GPS aktivieren", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { Intent callGPSSettingIntent = new Intent( android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS); startActivity(callGPSSettingIntent); } }); alertDialogBuilder.setNegativeButton("Abbrechen", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { dialog.cancel(); } }); AlertDialog alert = alertDialogBuilder.create(); alert.show(); } }
source share