2016-03-19 34 views
-1

我很新編程,但我有一個列表視圖顯示數據庫的內容。它還有一個可以按下的按鈕。有問題的代碼是在我的適配器類的列表視圖。理想情況下,我想將按鈕已按下的行的信息傳遞給新活動。到目前爲止,如果我拿出startActivity,我可以更改按鈕的文本,所以我知道該按鈕的工作原理,但只要我嘗試添加startActivity,它就會崩潰。我試圖打開的活動只是讓我知道我可以讓按鈕工作(因此我稱之爲成功),然後我可以將其實施到另一個應用程序中。有人可以幫助我,爲什麼新的活動不開放,以及如何糾正它,預先感謝。意圖在onclicklistener在列表視圖適配器

@Override 
public View getView(int position,View convertView,ViewGroup parent) 
{ 

    View row = convertView; 
    final LayoutHandler layoutHandler; 
    if(row == null) 
    { 
     LayoutInflater layoutInflater = (LayoutInflater)this.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     row = layoutInflater.inflate(R.layout.row_layout,parent,false); 
     layoutHandler = new LayoutHandler(); 
     layoutHandler.NAME = (TextView)row.findViewById(R.id.tvViewRow); 
     layoutHandler.BtntoClick = (Button)row.findViewById(R.id.BtnToClick); 
     row.setTag(layoutHandler); 


    } 
    else 
    { 
     layoutHandler = (LayoutHandler) row.getTag(); 
    } 
    DataProvider dataProvider = (DataProvider)this.getItem(position); 
    layoutHandler.NAME.setText(dataProvider.getName()); 

//這是一旦按鈕被點擊 最終按鈕BTN = layoutHandler.BtntoClick的方法;

btn.setOnClickListener(new View.OnClickListener(){ 


     @Override 
     public void onClick(View view) { 

      btn.setText("clicked"); 
      Log.e("intent builder", "onClick method started"); 
      Intent intent = new Intent(ListDataAdapter.this, Success.class); 
      startActivity(intent); 


     } 

     private void startActivity(Intent intent) { 

     } 


    }); 

    return row; 


} 
+0

什麼是堆棧跟蹤?它在清單 – krisC

+0

http://stackoverflow.com/questions/3988788/what-is-a-stack-trace-and-how-can-i-use-it-to-debug-my-application-errors –

回答

0

也許在你的意圖的問題,但我不能完全肯定不知道你的活動名稱

Intent intent = new Intent(ListDataAdapter.this, Success.class); 

如果ListDataAdapter是您當前的活動從您的調用函數,那麼它是好的,如果不是那麼它需要改變。

而且我不知道這是什麼代碼是

 private void startActivity(Intent intent) { 

    } 

堆棧跟蹤將是有益的

+0

老實說,我不確定ListDataAdapter是否作爲一個活動的類,因爲它沒有附加到它的XML文件。它從名爲DataListActivity的活動中調用,因爲它的listView適配器。該代碼在那裏,因爲當我第一次輸入代碼時,整個意圖都被加下劃線,當我按下燈泡時,它插入了代碼,現在它只強調括號中的「無法解析構造函數」的內容。我也不太確定你的意思是堆棧跟蹤? – krisC

+0

據我所知,不需要startActivity函數,而ListDataAdapter.this應該是您希望從中過渡的活動的名稱。所以我相信它應該是DataListActivity。 – Tony

+0

我現在已經拿出startActivity函數並將其更改爲DataListActivity.this,它現在強調了startActivity(意圖)並說「ActivityCompat connot中的startActivity()不適用於」並更改爲DataListActivity.this,表示「DataListActivity不是封閉類「 – krisC

相關問題