簡體   English   中英

使用ListActivity的TabSpec ...如何為Button設置OnClickListener?

[英]TabSpec with ListActivity … how to set OnClickListener for Button?

在TabHost中,我正在設置一個TabSpec,它包含一個帶有幾個按鈕的標題區域,下面是一個ListView。 管理此TabSpec的活動定義為“擴展ListActivity”。 但是,現在我遇到了無法定義OnClickListener來檢查按下的提交按鈕的問題。 我怎么解決這個問題?

試圖按下按鈕

btnRatingSubmit.setOnClickListener((OnClickListener) this);

引發ClassCastException ...

以下是布局的基本摘錄:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<RatingBar
    android:id="@+id/ratingBar"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

<EditText
    android:id="@+id/edComment"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:inputType="textMultiLine" >
</EditText>

<Button
    android:id="@+id/btnSubmit"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/btnSubmit" />

<ListView
    android:id="@android:id/list"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" />

</LinearLayout>

它應該不是問題,如果你setContentView(R.layout.your_layout); 並獲取btnSubmit的實例。 但是,如果您面臨問題,那么只需將ListActivity更改為Activity

代替

btnRatingSubmit.setOnClickListener((OnClickListener) this);

嘗試這個:

btnRatingSubmit.setOnClickListener(new View.OnClickListener(){

public void onClick(View v) {
            // TODO Auto-generated method stub

        }
    }); 

我認為你的問題是((OnClickListener)這個)。 如果沒有更多關於這個類的代碼,我無法正確地說出錯誤。 但是,您是否在包含此按鈕的Activity上實現OnClickListener? 否則,嘗試像這樣投射((View.OnClickListener)this)。

您應該為活動實現View.OnClickListener以繼續使用(OnClickListener),或者只是創建一個新的View.OnClickListener來替換“this”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM