2017-03-08 91 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。最後一個,在詢問之前進行搜索