【问题标题】:remove html from json data android studio从 json 数据 android studio 中删除 html
【发布时间】:2021-01-06 14:46:45
【问题描述】:

我尝试过使用我的 android studio 项目。我正在存储来自wp-json 的数据,一切正常。但是 - 我得到了类似的东西:

<p>আল্লামা আহমদ শফীর ইন্তেকালের পর চট্টগ্রামের দারুল উলুম মুঈনুল ইসলাম হাটহাজারী মাদরাসার আপাতত একক কোনো মহাপরিচালক নিযুক্ত করা হবে না। এর পরিবর্তে তিনজনের একটি পরিচালনা কমিটি করা হয়েছে।</p>\n<p>শনিবার আল্লামা শফীর জানাজার পর মাদরাসার শুরা কমিটির বৈঠকে এ সিদ্ধান্ত নেয়া হয়। এতে মাদরাসা পরিচালনার জন্য তিনজনকে নির্বাচন করা হয়েছে।</p>\n<p>এ তিনজন হলেন, পরিচালনা কমিটির প্রধান মুফতিয়ে আজম বাংলাদেশ আল্লামা মুফতি আব্দুস সালাম চাটগামী হাফিজাহুল্লাহু, আল্লামা শেখ আহমদ হাফিজাহুল্লাহ ও আল্লামা ইয়াহইয়া সাহেব হাফিজাহুল্লাহ।</p>\n<p>এছাড়া মাওলানা জুনায়েদ বাবুনগরীকে শিক্ষা পরিচালক ও শায়খুল হাদিস হিসেবে নিয়োগ দেয়া হয়েছে।<br />\nসহকারী শিক্ষা সচিব হিসবে নিয়োগ দেয়া হয়েছে আল্লামা হাফেজ শোয়াইব সাহেব হাফিজাহুল্লাহুকে।</p>\n<p>সূত্র জানায়, তিন সদস্য বিশিষ্ট এ কমিটি এখন থেকে হাটহাজারী মাদরাসার সব কাজের সুরাহা করবেন। তাদের সবার সমান অধিকার থাকবে। তাদের মধ্য থেকে কেউ একজন এককভাবে কোনো সিদ্ধান্ত নিতে পারবেন না।</p>\n<p>প্রসঙ্গত, শুক্রবার সন্ধ্যায় হাটহাজারী মাদ্রাসার দীর্ঘ ৩৪ বছরের মহাপরিচালক ও হেফাজতে ইসলামের আমির আল্লামা শাহ আহমদ শফী ইন্তেকাল করেন।</p>\n<p>শনিবার (১৯ সেপ্টেম্বর) বেলা ২টা ১৫ মিনিটে লাখো মুসুল্লির উপস্থিতিতে জানাজা শেষে মাদরাসা বাইতুল আতিক জামে মসজিদ সংলগ্ন ‘মাকবারাতুল জামিয়া’ নামক কবরস্থানে দাফন করা হয় আল্লামা শফীকে।</p>\n<p>ইউএইচ/</p>\n

在这里你可以看到&lt;p&gt;\n 标签正在显示。我想像 web 一样从我的 textview 中显示所有这些 html。但我不明白我怎么能做到这一点。需要工作 html 标签,但从纯文本中隐藏。

这是我的java代码:

public class MainActivity extends AppCompatActivity {

    private final String JSON_URL = "http://web.com/api.php";
    private JsonArrayRequest request ;
    private RequestQueue requestQueue ;
    private List<Anime> lstAnime ;
    private RecyclerView recyclerView ;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        lstAnime = new ArrayList<>() ;
        recyclerView = findViewById(R.id.recyclerviewid);
        jsonrequest();
    }

    private void jsonrequest() {

        request = new JsonArrayRequest(JSON_URL, new Response.Listener<JSONArray>() {
            @Override
            public void onResponse(JSONArray response) {

                JSONObject jsonObject  = null ;

                for (int i = 0 ; i < response.length(); i++ ) {


                    try {
                        jsonObject = response.getJSONObject(i) ;
                        Anime anime = new Anime() ;
                        anime.setName(jsonObject.getString("title"));
                        anime.setDescription(jsonObject.getString("description"));
                        anime.setRating(jsonObject.getString("date"));
                        anime.setCategorie(jsonObject.getString("category"));
                        anime.setStudio(jsonObject.getString("admin"));
                        anime.setImage_url(jsonObject.getString("thumbnail"));
                        lstAnime.add(anime);

                    } catch (JSONException e) {
                        e.printStackTrace();
                    }


                }

                setuprecyclerview(lstAnime);

            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {

            }
        });


        requestQueue = Volley.newRequestQueue(MainActivity.this);
        requestQueue.add(request) ;


    }

    private void setuprecyclerview(List<Anime> lstAnime) {


        RecyclerViewAdapter myadapter = new RecyclerViewAdapter(this,lstAnime) ;
        recyclerView.setLayoutManager(new LinearLayoutManager(this));
        recyclerView.setAdapter(myadapter);

    }
}

这是我的详细信息 activity.java

public class AnimeActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_anime);

        // hide the default actionbar
        getSupportActionBar().hide();

        // Recieve data

        String name  = getIntent().getExtras().getString("anime_name");
        String description = getIntent().getExtras().getString("anime_description");
        String studio = getIntent().getExtras().getString("anime_studio") ;
        String category = getIntent().getExtras().getString("anime_category");
        int nb_episode = getIntent().getExtras().getInt("anime_nb_episode") ;
        String rating = getIntent().getExtras().getString("anime_rating") ;
        String image_url = getIntent().getExtras().getString("anime_img") ;

        // ini views

        CollapsingToolbarLayout collapsingToolbarLayout = findViewById(R.id.collapsingtoolbar_id);
        collapsingToolbarLayout.setTitleEnabled(true);

        TextView tv_name = findViewById(R.id.aa_anime_name);
        TextView tv_studio = findViewById(R.id.aa_studio);
        TextView tv_categorie = findViewById(R.id.aa_categorie) ;
        TextView tv_description = findViewById(R.id.aa_description);
        TextView tv_rating  = findViewById(R.id.aa_rating) ;
        ImageView img = findViewById(R.id.aa_thumbnail);

        // setting values to each view

        tv_name.setText(name);
        tv_categorie.setText(category);
        tv_description.setText(description);
        tv_rating.setText(rating);
        tv_studio.setText(studio);

        collapsingToolbarLayout.setTitle(name);

        RequestOptions requestOptions = new RequestOptions().centerCrop().placeholder(R.drawable.loading_shape).error(R.drawable.loading_shape);

        // set image using Glide
        Glide.with(this).load(image_url).apply(requestOptions).into(img);
    }
}

我想用tv_description textview 做到这一点。

提前致谢。

【问题讨论】:

    标签: android html json android-studio web


    【解决方案1】:

    tv_description 中显示HTML 在您的AnimeActivity 中,以下代码将起作用。

    public class AnimeActivity extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_anime);
    
            // hide the default actionbar
            getSupportActionBar().hide();
    
            // Recieve data
    
            String name  = getIntent().getExtras().getString("anime_name");
            String description = getIntent().getExtras().getString("anime_description");
            String studio = getIntent().getExtras().getString("anime_studio") ;
            String category = getIntent().getExtras().getString("anime_category");
            int nb_episode = getIntent().getExtras().getInt("anime_nb_episode") ;
            String rating = getIntent().getExtras().getString("anime_rating") ;
            String image_url = getIntent().getExtras().getString("anime_img") ;
    
            // ini views
    
            CollapsingToolbarLayout collapsingToolbarLayout = findViewById(R.id.collapsingtoolbar_id);
            collapsingToolbarLayout.setTitleEnabled(true);
    
            TextView tv_name = findViewById(R.id.aa_anime_name);
            TextView tv_studio = findViewById(R.id.aa_studio);
            TextView tv_categorie = findViewById(R.id.aa_categorie) ;
            TextView tv_description = findViewById(R.id.aa_description);
            TextView tv_rating  = findViewById(R.id.aa_rating) ;
            ImageView img = findViewById(R.id.aa_thumbnail);
    
            // setting values to each view
    
            tv_name.setText(name);
            tv_categorie.setText(category);
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
                tv_description.setText(Html.fromHtml(description, Html.FROM_HTML_MODE_LEGACY));
            } else {
                tv_description.setText(Html.fromHtml(description));
            }
            tv_rating.setText(rating);
            tv_studio.setText(studio);
    
            collapsingToolbarLayout.setTitle(name);
    
            RequestOptions requestOptions = new RequestOptions().centerCrop().placeholder(R.drawable.loading_shape).error(R.drawable.loading_shape);
    
            // set image using Glide
          
            Glide.with(this).load(image_url)
                .apply(requestOptions).into(img);
        }
    }
        
    

    【讨论】:

    • 我可以在哪里放置此代码?你能用我的代码编辑或给我指导吗?
    • 将此代码放在您在文本视图中设置文本的位置。你没有给出有问题的代码。所以我不能编辑你的代码。请提供您要显示此信息的代码快照。
    • 我已为详细活动添加了代码。请查看该代码
    • 我已经更新了我的答案。请检查更新的答案。
    • 哇...!你很棒!它解决了我的问题。但我还有一个问题。 &lt;a href=""&gt;title&lt;/a&gt; 不工作。我怎样才能使它可点击?如果有人点击该链接,它将打开一个网页视图。
    猜你喜欢
    • 2021-12-11
    • 2016-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-23
    相关资源
    最近更新 更多