2016-07-05 100 views
-3

我創建了一個儀表板活動,我從那個按鈕創建了許多按鈕第一個按鈕正在工作,當我點擊第二個按鈕時,我得到錯誤,如不幸的「Tntrains已停止」。爲什麼我不幸的是應用程序已停止....?

這是怎麼發生的?

dashboard.xml: 

<LinearLayout 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:orientation="vertical" 
    tools:context="com.example.jeshtamsru.tntrains.DashboarsActivity"> 
    <ScrollView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 
    <LinearLayout android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical"> 
     <RelativeLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal" 
      android:layout_gravity="center_horizontal"> 
      <Button 
       android:layout_width="300dp" 
       android:gravity="center" 
       android:layout_height="wrap_content" 
       android:text="chennai to coimbatore" 
       android:id="@+id/chennaitocoimbatore_button"/> 
     </RelativeLayout> 
     <RelativeLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal" 
      android:layout_gravity="center_horizontal"> 
      <Button 
       android:layout_width="300dp" 
       android:gravity="center" 
       android:layout_height="wrap_content" 
       android:text="chennai to kanyakumari" 
       android:id="@+id/chennaikanya_button"/> 
     </RelativeLayout> 
</LinearLayout> 

Dashboard.java:

public class DashboarsActivity extends AppCompatActivity { 
    Button chennaitocoi,chennaitokanya; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.dashboars); 
     chennaitocoi=(Button)findViewById(R.id.chennaitocoimbatore_button); 
     chennaitocoi.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) {Intent chcointent=new Intent(getApplicationContext(),ChennaitocoimbatorRootActivity.class); 
       startActivity(chcointent); 
      } 
     }); 
     chennaitokanya=(Button)findViewById(R.id.chennaikanya_button); 
     chennaitokanya.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) {Intent chekanintent=new  Intent(getApplicationContext(),ChennaikanyaRootActivity.class); 
       startActivity(chekanintent); 
      } 
     }); 
    } 
} 

chennaitokanyakumariroot.java:

public class ChennaikanyaRootActivity extends AppCompatActivity { 
    String[] source = {"Chennai", "Kanyakumari", "Nagercoil"}; 
    String[] destination = {"Chennai", "Kanyakumari", "Nagercoil"}; 


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

     ArrayAdapter<String> adapter = new ArrayAdapter<String> 
       (this, android.R.layout.select_dialog_item, source); 
     //Getting the instance of AutoCompleteTextView 
     final AutoCompleteTextView actv = (AutoCompleteTextView) findViewById(R.id.source_auto); 
     actv.setThreshold(1);//will start working from first character 
     actv.setAdapter(adapter);//setting the adapter data into the AutoCompleteTextView 
     actv.setTextColor(Color.BLACK); 


     //destination auto complete 
     ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String> 
       (this, android.R.layout.select_dialog_item, destination); 
     //Getting the instance of AutoCompleteTextView 
     final AutoCompleteTextView actv2 = (AutoCompleteTextView) findViewById(R.id.destination_auto); 
     actv2.setThreshold(1);//will start working from first character 
     actv2.setAdapter(arrayAdapter);//setting the adapter data into the AutoCompleteTextView 
     actv2.setTextColor(Color.BLACK); 
     //Button onclick 
     Button button2 = (Button) findViewById(R.id.cksearch_button1); 
     button2.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       if (actv.getText().toString().equals("Chennai") && actv2.getText().toString().equals("Kanyakumari")){ 
        Intent i = new Intent(ChennaikanyaRootActivity.this, ChennaitokanyatraindetailsActivity.class); 
        startActivity(i); 

       } else if (actv.getText().toString().equals("Kanyakumari") && actv2.getText().toString().equals("Chennai")) { Intent i = new Intent(ChennaikanyaRootActivity.this, KanyatochennaitraindetailsActivity.class); 
        startActivity(i); 
       } 
      } 
     }); 
    } 
} 

chennaikanyakumariroot.xml:

<LinearLayout 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:orientation="vertical" 
    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.jeshtamsru.tntrains.ChennaikanyaRootActivity"> 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" 
     android:layout_marginTop="50sp"> 
     <AutoCompleteTextView 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:hint="Current Location" 
      android:layout_alignParentTop="true" 
      android:layout_centerHorizontal="true" 
      android:gravity="center_horizontal" 
      android:id="@+id/cksource_auto" 
      /> 
    </LinearLayout> 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal" 
     android:layout_marginTop="50sp"> 
     <AutoCompleteTextView 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:hint="Destination Location" 
      android:layout_alignParentTop="true" 
      android:layout_centerHorizontal="true" 
      android:gravity="center_horizontal" 
      android:id="@+id/ckdestination_auto" 
      /> 

    </LinearLayout> 
    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="  click here to find your train  " 
     android:layout_gravity="center_horizontal" 
     android:layout_marginTop="30sp" 
     android:id="@+id/cksearch_button1"> 
    </Button> 

</LinearLayout> 

我得到的日誌貓錯誤:

Caused by: java.lang.NullPointerException: Attempt to 
    android.widget.AutoCompleteTextView.setThreshold(int)' 
    on a null object reference at 
    com.example.jeshtamsru.tntrains 
     .ChennaikanyaRootActivity.onCreate(ChennaikanyaRootActivity.java:26) 
+3

嗨CHANDU,歡迎StackOverflow上。我想讓你知道,不幸的是,這不是一個調試論壇,你發佈你的代碼,併爲你找到bug。這是一個特定問題的地方。請查看關於[MCVE] –

+1

final的幫助部分AutoCompleteTextView actv2 =(AutoCompleteTextView)findViewById(R.id.destination_auto); destinatio_auto在哪裏定義?看不到它 – Memme

+0

顯示您的chennaikanya_root.xml文件。 – Drv

回答

0

添加下面一行到你的onCreate():

chennaitokanya=(Button)findViewById(R.id.chennaikanya_button); 

編輯您的代碼如下:

final AutoCompleteTextView actv = (AutoCompleteTextView) findViewById(R.id.cksource_auto); 


final AutoCompleteTextView actv2 = (AutoCompleteTextView) findViewById(R.id.ckdestination_auto); 
+0

i alredy添加了na – CHANDU

+0

感謝它的工作現在 – CHANDU

相關問題