WiseStudent
@WiseStudent
Студент - начинающий программист.

Добавление текста в приложение в андроид студио java. Как добавить текст с таблицами?

Я внизу написал, ещё напишу! При создании приложения справочник по русскому языку я столкнулся с проблемой добавления текста в приложение. Кто может помогите если что-то не понятно напишите комент я объясню.

//Класс 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;
    }

}
  • Вопрос задан
  • 383 просмотра
Пригласить эксперта
Ответы на вопрос 1
LaRN
@LaRN
Senior Developer
Может имеет смысл все это добавлять в БД, а не в ресурсы?
Можно сформировать файл для БД SQLite и его читать из приложения.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы