Проблема в Grid View в Android - PullRequest
       0

Проблема в Grid View в Android

0 голосов
/ 23 августа 2011

Я практикую вид сетки из книги «Начало Android 2», я набрал этот xml и java, но программа вылетала во время выполнения в эмуляторе.1004 *

И java-код

package practise.dewsworld.android;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.GridView;
import android.widget.TextView;

public class GridDemo extends Activity 
  implements AdapterView.OnItemSelectedListener { 
  TextView selection; 
  String[] items={"lorem", "ipsum", "dolor", "sit", "amet", 
          "consectetuer", "adipiscing", "elit", "morbi", "vel", 
          "ligula", "vitae", "arcu", "aliquet", "mollis", 
          "etiam", "vel", "erat", "placerat", "ante", 
          "porttitor", "sodales", "pellentesque", "augue", "purus"}; 

  @Override 
  public void onCreate(Bundle icicle) { 

        super.onCreate(icicle); 
        setContentView(R.layout.main); 
        selection=(TextView)findViewById(R.id.selection); 

        GridView g=(GridView) findViewById(R.id.grid); 
        g.setAdapter(new FunnyLookingAdapter(this, 
                           android.R.layout.simple_list_item_1, 
                           items)); 
        g.setOnItemSelectedListener(this); 
      } 

      public void onItemSelected(AdapterView<?> parent, View v, 
                                 int position, long id) { 
        selection.setText(items[position]); 
      } 

      public void onNothingSelected(AdapterView<?> parent) { 
        selection.setText(""); 
      } 

      private class FunnyLookingAdapter extends ArrayAdapter { 
        Context ctxt; 

        FunnyLookingAdapter(Context ctxt, int resource, 
                           String[] items) { 
          super(ctxt, resource, items); 

          this.ctxt=ctxt; 
        } 

        public View getView(int position, View convertView, 
                ViewGroup parent) { 
            TextView label=(TextView)convertView; 

            if (convertView==null) { 
                convertView=new TextView(ctxt); 
                label=(TextView)convertView; 
            } 

            label.setText(items[position]); 

            return(convertView); 
        } 
      } 
} 

Теперь не могли бы вы, кто-нибудь, пожалуйста, помогите мне?

1 Ответ

0 голосов
/ 23 августа 2011

попробуйте это.

 public View getView(int position, View convertView,  ViewGroup parent) {            
        if (convertView==null) { 
            convertView=new TextView(ctxt);               
        } 
        final TextView label=(TextView)convertView; 
        label.setText(items[position]); 

        return(convertView); 
    } 

до этого, вы можете просто очистить и построить снова.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...