我一直在尝试将数据加载到Android应用上的列表视图
这是我的活动,它将加载listview:
public class DetallesCliente extends ActionBarActivity {
String[] data = {"S","D","A"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_detalles_cliente);
ListView lista = (ListView)findViewById(R.id.listaDetalles);
ArrayAdapter<String> adaptador = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.list_content, data);
try{lista.setAdapter(adaptador);}
catch (Exception e){Log.i("WS", e.toString());}
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment()).commit();
}
}
好的,现在这是此活动片段中的代码
<RelativeLayout 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:gravity="center"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.facturas.DetallesCliente$PlaceholderFragment" >
<ListView
android:id="@+id/listaDetalles"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="27dp" >
</ListView>
<TextView
android:id="@+id/tvDetalles"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="24dp"
android:text="Detalles del Cliente"
android:textAppearance="?android:attr/textAppearanceMedium" />
问题是,当我尝试加载数据时,它给我一个空指针异常,我没有片段类因为我不理解它们,我试图从textview修改文本,它既没有工作
允许编辑列表视图的正确方法是什么
答案 0 :(得分:0)
这不是片段中的代码...我希望您打算编写activity_detalles_cliente.xml代码,而且根据以下行编写PlaceholderFragment Fragment的布局:
tools:context="com.example.facturas.DetallesCliente$PlaceholderFragment"
您正在将它用于mainactivity(它无法在PlaceholderFragment的布局文件中找到listview R.id.listaDetalles),因此它显示的是NullPointerException。
i have no fragment class cause i dont understand them
如果我知道你怎么没有PlaceholderFragment类并试图创建它的实例?
方法1:
public static class PlaceholderFragment extends Fragment {
public PlaceholderFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.activity_detalles_cliente, container, false);
ListView lista = (ListView)findViewById(R.id.listaDetalles);
ArrayAdapter<String> adaptador = new ArrayAdapter<String>(getApplicationContext(),
android.R.layout.list_content, data);
try{
lista.setAdapter(adaptador);
}catch (Exception e){
Log.i("WS", e.toString());}
return rootView;
}
}
添加上面的代码(不要忘记从mainActivity中删除ListView lista)。
方法2:如果您不需要片段,则只需删除
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment()).commit();
}
以上来自主动性和变化线
tools:context="com.example.facturas.DetallesCliente$PlaceholderFragment"
到
tools:context="com.example.facturas.DetallesCliente"