2

Toastから選択した値を入力しようとしていますListView

listView1.setOnItemClickListener(new OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> a, View v, int pos, long id){
          // Now you have the id, you can set the background colour.
         Toast.makeText(getBaseContext(),((TextView)v).getText(), Toast.LENGTH_LONG).show();
    }
});

私が得るエラー:

Error: android.widget.LinearLayout cannot be cast to android.widget.TextView
4

1 に答える 1

4

ListView行レイアウトにaのみが含まれていない場合TextViewは、その例外が発生します(または他のものTextViewでラップすることはできませLinearLayoutん)。代わりに、これを行うことができます:

public void onItemClick(AdapterView<?> a, View v, int pos, long id){
    LinearLayout parent = (LinearLayout) v;
    TextView t = (TextView) parent.findViewById(R.id.the_id_of_the_textview);
    Toast.makeText(getBaseContext(), t.getText(), Toast.LENGTH_LONG).show();
}
于 2012-04-09T11:29:51.153 に答える