2017-03-08 92 views
-1

我想在两个活动之间设计一些意图。我没有任何声明就通过了意图。我想定义适配器来扩大listview的意图,但当意图打开时我遇到了这个问题。它是由listview引起的。我怎样才能解决它?Android新意图ListView后没有响应

以下是下面的代码。

public class AttactivePlacesActivity extends AppCompatActivity { 

    ArrayList<City> c = null; 

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

     MainActivity m = new MainActivity(); 
     c = m.mArraylist; 


     AAdapter r = new AAdapter(this,c,R.color.mainBackground); 

     ListView listView = (ListView) findViewById(R.id.aa); 

     listView.setAdapter(r); 




    } 
} 

R.layout.a

<?xml version="1.0" encoding="utf-8"?> 
<ListView 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:id="@+id/aa" 
    tools:context="com.example.android.tourguide.AttactivePlacesActivity"> 

</ListView> 

gridview的意图

gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) { 

      switch (position){ 

       case 0: 
        Toast.makeText(getApplicationContext(),"A",Toast.LENGTH_SHORT).show(); 
        Intent intent = new Intent(MainActivity.this,AttactivePlacesActivity.class); 
        startActivity(intent); 
        break; 

      } 

     } 
    }); 
+0

我在您发布的代码中看不到任何意图。无论如何,你的问题不清楚 – MikeKeepsOnShine

+0

请重新写下问题,以实际陈述问题,复制路径和预期结果。 – Kelevandos

+0

listView.setAdapter(r)存在问题; 。这意味着来自AAdapter。 – DRF

回答

0

您创建的MainActivity参考,以获得mArrayList,不是吗?首先,请不要在另一个活动中创建任何活动的参考。其次,如果你想在第二活动mArraylist,只要把它的意图是这样的:

intent.putSerializable(“我的阵列”,mArrayList);

,并通过使用接收它:

C = getIntent.getSerializable( “我的阵列”);

P/S:给你一些建议,请用有意义的名字命名变量,试着在开始使用Android之前学会OOP java。最后一个,在询问之前进行搜索