Android getView不渲染,即使数据显示在LogCat中

Android getView不渲染,即使数据显示在LogCat中,android,arraylist,android-listview,logcat,Android,Arraylist,Android Listview,Logcat,我正在处理androidListView,当我膨胀ListItem时,我遇到了一个奇怪的错误。我无法在getView方法上查看数据,即使数据已经显示在LogCat中。有什么想法吗 private ListViewAdapter m_adapter; public ArrayList<String> cat = new ArrayList<String>(); private SharedPreferences preferences; private SharedPref

我正在处理android
ListView
,当我膨胀
ListItem
时,我遇到了一个奇怪的错误。我无法在
getView
方法上查看数据,即使数据已经显示在
LogCat
中。有什么想法吗

private ListViewAdapter m_adapter;
public ArrayList<String> cat = new ArrayList<String>();
private SharedPreferences preferences;
private SharedPreferences.Editor editor;
String title, character, thumbnail, totalPages;
int Code;
ViewHolder vh;
TextView titleView, charView, totalView;
ImageView thumbView, removeView;
Uri thumbUri;

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setTheme(android.R.style.Theme_Black_NoTitleBar);
    getWindow().requestFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.myputet);
    init_UI();
}

public void init_UI() {
    preferences = getApplicationContext().getSharedPreferences(
            Constants.SHARED_PRED, 0);
    editor = preferences.edit();

    title = preferences.getString("TITLE", "");
    character = preferences.getString("CHAR", "");
    thumbnail = preferences.getString("THUMB", "");
    thumbUri = Uri.parse(thumbnail);
    totalPages = preferences.getString("TOTAL", "");
    Code = preferences.getInt("CODE", 0);

    System.out.println("Getting Title " + title);
    System.out.println("Getting character " + character);
    System.out.println("Getting thumbnail " + thumbnail);
    System.out.println("Getting thumbUri " + thumbUri);
    System.out.println("Getting totalPages " + totalPages);

    Log.v("ArrayList", cat.toString());
    ListView lv = (ListView) findViewById(R.id.listview);

    m_adapter = new ListViewAdapter(this, R.layout.myputet_item, cat);
    lv.setAdapter(m_adapter);
}

private class ListViewAdapter extends ArrayAdapter<String> {
    private ArrayList<String> items;

    public ListViewAdapter(Context context, int textViewResourceId,
            ArrayList<String> items) {
        super(context, textViewResourceId, items);
        this.items = items;

    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View v = convertView;
        if (v == null) {
            LayoutInflater vi = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            v = vi.inflate(R.layout.myputet_item, null);
        }

        Log.v("Title View", title);
        titleView = (TextView) v.findViewById(R.id.titleTxtView);
        charView = (TextView) v.findViewById(R.id.charTxtView);
        totalView = (TextView) v.findViewById(R.id.totalTxtView);
        thumbView = (ImageView) v.findViewById(R.id.charImageView);
        removeView = (ImageView) v.findViewById(R.id.removeListItem);
        if (titleView != null) {
            titleView.setText(title);
            Log.v("Update Title", title);
        }
        charView.setText(character);
        Log.v("Update character", character);
        totalView.setText(totalPages);
        Log.v("Update totalPages", totalPages);
        thumbView.setImageURI(thumbUri);

        return convertView;
    }
}

您需要返回在
getView()
中修改的视图:

另一方面,ListView中的每一行都是相同的<代码>标题,
字符
等。永不更改,因此它们将反复显示


最后,请观看Android的Romain Guy,以帮助您加快速度。

我已经尝试使用return v;但它不起作用。有什么想法吗?试着用
v=vi.inflate(R.layout.myputet_项,父项,false)来扩展视图。它可能是您的
myputte.xml
布局,屏幕上是否有ListView?。这会帮助你解决你的问题。
10-31 23:52:34.438: V/Title View(4568): မိခ်ိဳေစ်းကအျပန္
10-31 23:52:34.438: V/Update Title(4568): မိခ်ိဳေစ်းကအျပန္
10-31 23:52:34.438: V/Update character(4568): ကိုေရႊထူး(ျပည္)
10-31 23:52:34.438: V/Update totalPages(4568): 3
return v; // not convertView