30/09/2018, 17:41

Làm sao để hiện thị tiếng Việt trong ListView của Android?

Chào mọi người, cho em hỏi : Làm sao để hiện thị tiếng Việt trong ListView của Android?

Em đã viết đoạn code : <?xml version="1.0" encoding="utf-8"?> trong file AndroidMainfest.xml và layout tương ứng nhưng vẫn bị lỗi như trong ảnh.
Em cảm ơn mọi người.

Mai Anh Dũng viết 19:53 ngày 30/09/2018

Ninh gửi đoạn code add text vào listview xem thử, Đạt chưa làm cái này bao giờ nên cần xem code mới có idea

TTmagic viết 19:45 ngày 30/09/2018

Ở Android Studio, bạn vào File> Setting, trong setting bạn search “file encoding”, rồi bạn chọn hết UTF-8 xem sao

Điệp viết 19:50 ngày 30/09/2018

Listview này bạn đổ dữ liẹu từ array hả ?

Quân viết 19:44 ngày 30/09/2018

Cái này chịu, chả bị bao giơ, tiếng Việt vẫn ngon lành cành đào

TTmagic viết 19:53 ngày 30/09/2018

@Ninh_Le bạn làm được chưa
Nếu có câu trả lời đúng trong topic này thì bạn accept answer nó đi, hoặc nếu bạn làm được rồi thì ghi giải pháp ra đây để mọi người tham khảo :">

P/s: Trước mình cũng bị như này, dùng string ở trong strings.xml thì không sao, còn dùng chuỗi trực tiếp trong java file thì bị lỗi font như vậy. Cách làm là chuột phải vào chỗ soạn thảo code của file đó, và chọn “file encoding”, rồi chọn utf-8 ( hình như utf-8 với ISO-8859-1 là như nhau đúng ko nhỉ @@)

Ninh Lê viết 19:49 ngày 30/09/2018

Gửi anh @ltd
File activity của em như sau:

package com.windybook.foreground;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;

import org.w3c.dom.Text;

import java.util.ArrayList;
import java.util.Arrays;


public class ListViewDemo extends ActionBarActivity {

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

        // my code here!
        final TextView myTextView = (TextView) findViewById(R.id.tvShow) ;
        ListView myListView = (ListView) findViewById(R.id.lvPerson) ;

        String arr[]  = {"Tí" , "Tèo" , "Tủn"} ;

        ArrayList<String> data = new ArrayList<String>(Arrays.asList(arr)) ;

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,  data) ;

        myListView.setAdapter(adapter);
        myListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                                              @Override
                                              public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                                                    myTextView.setText("Position "+position +" id " + id);
                                              }
                                          }
        );
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_list_view_demo, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}



File xml của em như sau:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    tools:context="com.windybook.foreground.ListViewDemo"

    >

    <TextView android:text="@string/hello_world"
        android:id="@+id/tvShow"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <ListView
        android:id="@+id/lvPerson"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

    </ListView>

</LinearLayout>
Ninh Lê viết 19:43 ngày 30/09/2018

Listview này bạn đổ dữ liẹu từ array hả ?

Vâng anh, dữ liệu em từ array, mà cụ thể là ArrayList:


 String arr[]  = {"Tí" , "Tèo" , "Tủn"} ;

        ArrayList<String> data = new ArrayList<String>(Arrays.asList(arr)) ;
Ninh Lê viết 19:46 ngày 30/09/2018

Ở Android Studio, bạn vào File> Setting, trong setting bạn search “file encoding”, rồi bạn chọn hết UTF-8 xem sao

Đã thử và không thành công

TTmagic viết 19:52 ngày 30/09/2018

Vẫn còn mục Project Encoding và mục default ở dưới kìa :v

Ninh Lê viết 19:48 ngày 30/09/2018

Vẫn còn mục Project Encoding và mục default ở dưới kìa :v

Chỉnh 3 cái này đủ chưa @TTmagic Chỉnh 3 cái này thì kết quả vẫn không hiển thị được.

ỉnh

TTmagic viết 19:51 ngày 30/09/2018

P/s: Trước mình cũng bị như này, dùng string ở trong strings.xml thì không sao, còn dùng chuỗi trực tiếp trong java file thì bị lỗi font như vậy. Cách làm là chuột phải vào chỗ soạn thảo code của file đó, và chọn “file encoding”, rồi chọn utf-8 ( hình như utf-8 với ISO-8859-1 là như nhau đúng ko nhỉ @@)

@Ninh_Le vậy thì đây có thể là cách cuối =)) mình đã làm và thành công :v
À, trước khi thử thì thử build lại, nếu ko đc hãy thử như trên nhé :v

Ninh Lê viết 19:47 ngày 30/09/2018

@Ninh_Le vậy thì đây có thể là cách cuối =)) mình đã làm và thành công :vÀ, trước khi thử thì thử build lại, nếu ko đc hãy thử như trên nhé :v

Cách của bác đúng rồi đấy
Nhưng mấy lần trước chỉnh xong, Apply, OK rồi Build lại nhưng vẫn lỗi. Phải thoát Android Studio và mở lại mới sửa được.
Em cảm ơn bác nhiều.

Thành Phạm viết 19:42 ngày 30/09/2018

Cái này hình như lúc đầu tạo project android studio sẽ warning nhưng chắc bác bỏ qua

Bài liên quan
0