【发布时间】:2017-02-17 06:34:12
【问题描述】:
我的问题和.getExtras()' on a null object reference的问题一样
但我不知道怎么做 codeMagic 说:“你需要在方法之外声明它们并在 onCreate() 内部初始化它们。或者将你需要的值传递给必要的函数”
对不起,我对编程世界很陌生。 `package ejemlo1.listaejemlo;
import android.app.Activity;
import android.content.Context;
import android.view.View;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
public class Lista extends Activity {
private ListView lista;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.lista);
String elem1 = getIntent().getExtras().getString("Nombre");
String elem2 = getIntent().getExtras().getString("Sexo");
Espacios[] datos = new Espacios[] {
new Espacios(elem1, elem2),
new Espacios("Nombre2", "Sexo2")};
lista = (ListView)findViewById(R.id.Interesar);
Adapta adaptador = new Adapta(this, datos);
lista.setAdapter(adaptador);
}
class Adapta extends ArrayAdapter<Espacios> {
String elem1 = getIntent().getExtras().getString("Nombre");
String elem2 = getIntent().getExtras().getString("Sexo");
Espacios[] datos = new Espacios[] {
new Espacios(elem1, elem2),
new Espacios("Nombre2", "Sexo2")};
public Adapta(Context context, Espacios[] datos) {
super(context, android.R.layout.simple_list_item_2, datos);
}
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = LayoutInflater.from(getContext());
View item = inflater.inflate(android.R.layout.simple_list_item_2, null);
TextView texto1 = (TextView) item.findViewById(android.R.id.text1);
texto1.setText(datos[position].getNombre());
TextView texto2 = (TextView) item.findViewById(android.R.id.text2);
texto2.setText(datos[position].getSexo());
return(item);
}
}
}
`
【问题讨论】:
-
请在您的问题中添加到目前为止的代码示例。这可以让人们给出具体的建议。
-
有我的代码,我解决了原来的问题,但我必须复制变量“datos”“elem1”“elem2”,现在我想知道是否存在消除第一个的方法.谢谢!
标签: object android-intent null bundle