Я внизу написал, ещё напишу! При создании приложения справочник по русскому языку я столкнулся с проблемой добавления текста в приложение. Кто может помогите если что-то не понятно напишите комент я объясню.
//Класс MainActivity
public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener {
private ListView list;
private String [] array;
ArrayAdapter <String>adapter;
private AppBarConfiguration mAppBarConfiguration;
private DrawerLayout drawer;
private Toolbar toolbar;
private int category_index;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
list=findViewById(R.id.listView);
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_AUTO_TIME);
array=getResources().getStringArray(R.array.Фонетика);
adapter=new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, new ArrayList<String>(Arrays.asList(array)));
list.setAdapter(adapter);
toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
drawer = findViewById(R.id.drawer_layout);
NavigationView navigationView = findViewById(R.id.nav_view);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawer,toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawer.addDrawerListener(toggle);
toggle.syncState();
navigationView.setNavigationItemSelectedListener(this);
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent = new Intent(MainActivity.this,Text_content_activity.class);
intent.putExtra("category",category_index);
intent.putExtra("position", position);
startActivity(intent);
}
});
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
toolbar.setTitle(R.string.fonetika);
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public boolean onOptionsItemSelected(MenuItem menuItem){
int id =menuItem.getItemId();
if (id==R.id.action_settings){
Intent intent=new Intent(MainActivity.this, SettingsActivity.class);
startActivity(intent);
// return true;
return super.onOptionsItemSelected(menuItem);
}
public boolean onNavigationItemSelected( MenuItem item){
int id=item.getItemId();
if (id==R.id.nav_phonetika){
toolbar.setTitle(R.string.fonetika);
array=getResources().getStringArray(R.array.Фонетика);
adapter.clear();
adapter.addAll(array);
adapter.notifyDataSetChanged();
Toast toast=Toast.makeText(getApplicationContext(),"Фонетика",Toast.LENGTH_SHORT);
toast.show();
category_index=0;
}
else if (id==R.id.nav_orphography){
toolbar.setTitle(R.string.orfografy);
array=getResources().getStringArray(R.array.Орфография);
adapter.clear();
adapter.addAll(array);
adapter.notifyDataSetChanged();
Toast toast=Toast.makeText(getApplicationContext(),"Орфография",Toast.LENGTH_SHORT);
toast.show();
category_index=1;
}
else if (id==R.id.nav_orphoephy){
toolbar.setTitle(R.string.orfoepy);
array=getResources().getStringArray(R.array.Офоэпия);
adapter.clear();
adapter.addAll(array);
Toast toast=Toast.makeText(getApplicationContext(),"Орфоэпия",Toast.LENGTH_SHORT);
toast.show();
adapter.notifyDataSetChanged();
category_index=2;
}
else if (id==R.id.nav_morfemika){
toolbar.setTitle(R.string.morfemica);
array=getResources().getStringArray(R.array.Морфемика);
adapter.clear();
adapter.addAll(array);
adapter.notifyDataSetChanged();
Toast toast=Toast.makeText(getApplicationContext(),"Морфемика",Toast.LENGTH_SHORT);
toast.show();
category_index=3;
}
drawer.closeDrawer(GravityCompat.START);
return true;
}}
// Класс с помощью которого я добавляю текст на экран
Здесь я получаю позицию из MainActivity и с помощью этого добаляю нужный текст из string.xml, через созданный массивб но это мне не нравитсяб так как не получается добавить в строковый ресурс таблицу.
public class Text_content_activity extends AppCompatActivity {
private TextView textView;
private LinearLayout linearLayout;
private ConstraintLayout constraintLayout;
private int position = 0;
private ListView items;
private int category = 0;
String[] array1;
ArrayAdapter<String> adapter;
private int[] array;
private int[] array_fonetica = {R.string.Zvuki_ibukvi_, R.string.Foneticheskay_transkripsiy, R.string.Slog};
private int[] array_orfgorafiy = {R.string.Upotreblenie_strochnikh_i_propisnikh_bukv, R.string.Upotreblenie_strochnikh_i_propisnikh_bukv, R.string.Pravilo_perenosa, R.string.Graficheskoe_socrashenie};
private int[] array_orfoepy = {R.string.Udarenie, R.string.Glasnie_proveryemie_i_neproveryemie_udareniem};
private int[] array_morfemica = {R.string.Koren, R.string.Okonchanie, R.string.Pristavka, R.string.Suffiks, R.string.Affiks};
private int[] array_lecsika = {R.string.O_razdele_lecsika, R.string.Odnoznachnie_i_mnogoznachni_slova, R.string.Prymoe_i_perenisnoe_znachenie_slov, R.string.Omonimi, R.string.Sinonimi, R.string.Antonimi, R.string.Razrydi_slov_po_proiskhogdeniu, R.string.Ustarevshie_slova_i_neologizmi, R.string.Leksika_ogranichenniy_sferi};
private int[] array_morfologiy = {R.string.Samostoytelnie_chasti_rechi, R.string.Sushestvitelnoe, R.string.Prilagatelnoe, R.string.Chislitelnoe, R.string.Mestoimenie, R.string.Glagol, R.string.Prichastie, R.string.Deeprichastie, R.string.Narechie, R.string.Sludgebnie_chasti_rechi, R.string.Predlog, R.string.Soyz, R.string.Chastica, R.string.Megddometie};
private SharedPreferences def_pref;
private MenuItem item;
private int category_index;
private Object AdapterView;
//private int[] array_sintacsis = {R.array.Глагол, R.array.Деепричастие, R.array.Местоимение};
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.text_content);
ActionBar actionBar=getSupportActionBar();
actionBar.setHomeButtonEnabled(true);
actionBar.setDisplayHomeAsUpEnabled(true);
init();
resiveIntent();
}
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()){
case android.R.id.home:
this.finish();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
private void resiveIntent() {
Intent i = getIntent();
if (i != null) {
category = i.getIntExtra("category", 0);
position = i.getIntExtra("position", 0);
}
switch (category) {
case 0:
textView.setText(array_fonetica[position]);
break;
case 1:
textView.setText(array_orfgorafiy[position]);
break;
case 2:
textView.setText(array_orfoepy[position]);
break;
case 3:
textView.setText(array_morfemica[position]);
break;
case 4:
textView.setText(array_lecsika[position]);
break;
case 5:
textView.setText(array_morfologiy[position]);
break;
case 6:
textView.setText(array_morfologiy[position]);
break;
case 7:
textView.setText(array_morfologiy[position]);
break;
}
}