gpt4 book ai didi

android - 无法启动 Activity ComponentInfo : java. lang.NullPointerException

转载 作者:太空狗 更新时间:2023-10-29 15:30:16 24 4
gpt4 key购买 nike

异常:

无法启动 Activity ComponentInfo{com.scytec.datamobile.vd.gui.android/com.scytec.datamobile.vd.gui.android.SelectedList}: java.lang.NullPointerException..我只想显示复选框 ListView ,并且在每次检查时都显示“已选中”,只是我不知道为什么这会给我一个异常(exception)。

public class SelectedList extends Activity implements IObserver{

private ListView machine_listview;
ArrayAdapter<String> adapter;
ArrayList<String> arrayListofMachines;
ArrayList<String> arrayListofMachineNumbers;
Vector<MDCMachineStatus> machineStatus_vector;
Handler handler;

private static int oldPosition = 0;
private Boolean firstClick = true;




@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.machinelistview);

machine_listview = (ListView) findViewById(R.id.machine_listview);
machine_listview.setFastScrollEnabled(true);

MachineStatusSingleton.Register(this);

getData();

adapter = new ArrayAdapter<String>(SelectedList.this, R.layout.selectedlist,R.id.text1, arrayListofMachines);

machine_listview.setAdapter(adapter);

machine_listview.setSelection(oldPosition);


CheckBox chk=(CheckBox)findViewById(R.id.check);
chk.setOnCheckedChangeListener(new OnCheckedChangeListener()
{

public void onCheckedChanged(CompoundButton arg0, boolean arg1) {
TextView txt=(TextView)findViewById(R.id.xtra);
if (arg1)
Log.d("", "abul, checked") ;
else
Log.d("", "abul, not checked") ;

}

}
);


machine_listview.setOnItemClickListener(new OnItemClickListener() {

public void onItemClick(AdapterView<?> arg0, View arg1, int position,
long arg3) {
// TODO Auto-generated method stub
oldPosition = position;
MachineStatusSingleton.setMachineNumber(arrayListofMachineNumbers.get(position));
SelectedList.this.finish();


}

});


handler = new Handler(){
public void handleMessage(android.os.Message msg) {


machine_listview.setAdapter(adapter);
adapter.notifyDataSetChanged();

};
};






}

public void Update(ISubject arg0) {
// TODO Auto-generated method stub
}

@Override
public void onDestroy()
{
super.onDestroy();

MachineStatusSingleton.Unregister(this);
}

private void getData(){
machineStatus_vector = MachineStatusSingleton.GetData();
arrayListofMachines = new ArrayList<String>();
arrayListofMachineNumbers = new ArrayList<String>();
for(MDCMachineStatus temp: machineStatus_vector){
arrayListofMachines.add(temp.toString());
arrayListofMachineNumbers.add(temp.getNumber());
}

Collections.sort(arrayListofMachines);
Collections.sort(arrayListofMachineNumbers);

}


private void updateData(){
getData();

handler.sendEmptyMessage(0);
adapter.notifyDataSetChanged();
int index = machine_listview.getFirstVisiblePosition();
View v = machine_listview.getChildAt(0);
int top = (v == null) ? 0 : v.getTop();

// ...

// restore
machine_listview.setSelectionFromTop(index, top);
}


}

最佳答案

我们的应用程序运行得很好,突然遇到NullPointerExceptionUnable to start activity 等错误。

基本上 NullPointerExceptionUnable to start activity 发生在我们的 Activity 的 onCreate() 方法中。

这发生在:

  1. 我们更改与此 Activity 相关的布局的任何 xml 值

  2. 如果我们没有在我们的 Acivity 中正确映射 xml UI

  3. 尝试访问另一个布局文件中的 UI。

解决方案:

  1. 首先交叉检查所有映射的元素

  2. 赋予唯一的命名

关于android - 无法启动 Activity ComponentInfo : java. lang.NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9208023/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com