1

OnListItemClick() の Row のすべてのビューが必要です 実際には、現在 2 つの textView があるため、その行がクリックされたときに textView の 1 つのテキストを変更したいと考えています。OnCreate() メソッドなどを呼び出す必要がありますか?? ここにコードがあります

public class List extends ListActivity {

public ArrayList<HashMap<String,String>> list = new ArrayList<HashMap<String,String>>();


@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.list);
    HashMap<String,String> temp = new HashMap<String,String>();
    temp.put("first","Strength");
    temp.put("second", strength);

    list.add(temp);

    setListAdapter(new SimpleAdapter(this,list,R.layout.row_view, new String [] {"first","second"}, new int [] {R.id.rowTextView1, R.id.rowTextView2} ));

}


@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    // TODO Auto-generated method stub
    super.onListItemClick(l, v, position, id);
    HashMap<String,String> temp = new HashMap<String,String>();
    list.remove(0);
    temp.put("first","Strength");
    temp.put("second", "low");

    list.add(temp);


    Toast.makeText(this, "you have selected " + list.get(position).get("first"), Toast.LENGTH_SHORT).show();
}

}

ここにrow_viewのxmlがあります

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

<TextView
    android:id="@+id/rowTextView1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:textSize="20dp"
     />

<TextView
    android:id="@+id/rowTextView2"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:textSize="10dp"
     />

</LinearLayout>

同様に onActivityResult() のテキストを変更したい

ありがとう

4

1 に答える 1

0

次のことを試してください。

protected void onListItemClick(ListView l, View v, int position, long id) {
// TODO Auto-generated method stub
super.onListItemClick(l, v, position, id);
HashMap<String,String> temp = new HashMap<String,String>();
list.remove(0);
temp.put("first","Strength");
temp.put("second", "low");

list.add(temp);

TextView t1 = (TextView) v.findViewById(R.id.rowTextView1);//assuming rowTextView1 is the id of the textview you want to change
t1.setText("New_Text");

Toast.makeText(this, "you have selected " + list.get(position).get("first"), Toast.LENGTH_SHORT).show();

}

于 2012-06-11T20:28:40.737 に答える