2016-01-24 93 views
-1

你好我尝试做我的第一个应用程序在android.I想使列表视图与文本菜单,但是当我尝试编译我有errors.This是我的代码:在instancias错误列表视图项

错误();

错误:lista.setAdapter(a);

paiseslista();

这里是日志:

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ListView.setAdapter(android.widget.ListAdapter)' on a null object reference 
                     at sergio.dialogosprueba.mainactivity.paisesLista(mainactivity.java:66) 
                     at sergio.dialogosprueba.mainactivity.instancias(mainactivity.java:58) 
                     at sergio.dialogosprueba.mainactivity.onCreate(mainactivity.java:30) 

活动:

public class MainActivity extends AppCompatActivity { 
    Button vuelos,fecha; 
    ListView lista; 
    ArrayList<String> array; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     instancias(); 

     vuelos.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 
       Intent intent = new Intent(mainactivity.this, secondactivity.class); 
       startActivity(intent); 
      } 

     }); 

     fecha.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 
       Intent intent = new Intent(mainactivity.this, secondactivity.class); 
       startActivity(intent); 
      } 

     }); 

    } 

    private void instancias() { 
      vuelos = (Button) findViewById(R.id.vuelos); 
      fecha = (Button) findViewById(R.id.fecha); 
      lista =(ListView) findViewById(R.id.lista); 
      array = new ArrayList<String>(); 
      array.add("Roma"); 
      array.add("Madrid"); 
      array.add("Paris"); 
      paisesLista(); 
      registerForContextMenu(lista); 



     } 

    private void paisesLista() { 
     ArrayAdapter a = new ArrayAdapter(mainactivity.this,android.R.layout.list_content,array); 
     lista.setAdapter(a); 



    } 

    @Override 
    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { 
     getMenuInflater().inflate(R.menu.menu_main, menu); 
     super.onCreateContextMenu(menu, v, menuInfo); 
    } 

    @Override 
    public boolean onContextItemSelected(MenuItem item) { 
     return super.onContextItemSelected(item); 
    } 
} 
+0

什么是确切的错误信息? – Gavriel

+0

致命的例外主 –

+0

非常有帮助,谢谢 – Gavriel

回答

1

LISTA是空的paisesLista。试着调试,看看行后有什么LISTA的值:

lista =(ListView) findViewById(R.id.lista); 

可能有一个与你的布局有问题。检查它的ID为“LISTA”

根据您的意见,您要使用second_layout.xml,所以你需要从改变行:

setContentView(R.layout.activity_main); 

到:

setContentView(R.layout. second_layout); 
+0

没有什么可显示。如何解决它? –

+0

其增加在second_layout.xml中 –

+0

只有2个问题:1. second_layout没有在这个Activity中使用,2.我仍然无法读懂你的想法并看到xml ......尝试:setContentView(R.layout .second_layout); – Gavriel