listView
3 つtextViews
のフィールドがあり、これcheck box
までにrow.<br
> 特定のフィールドが選択またはチェックされている場合、その行の詳細 (または対応する の値) に対応するチェック済みのフィールドcheckBox
にアクセスするにはどうすればよいですか?textViews
check box
質問する
1694 次
3 に答える
1
この解決策は私のために働いています。
あなたのビューで、BaseAdapter クラスの下の getView() に以下のコードを追加します。
public static boolean checked=false;
holder.your_checkBox.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
CheckBox cb = (CheckBox) v;
if(cb.isChecked())
{
checked=true;
String selected_txt = object_of_ArrayList.get(position).get(ArrayList.Value);
// For Example//
String name=friendList.get(position).get(FriendList.FRIEND_NAME);
}
}
});
このアイテムのテキストを別のアクティビティで使用する場合は、文字列をそのように静的にする必要があります
public static String name;
別のアクティビティでこの名前にアクセスする場合
String str_name=your_adapterName.string;
于 2015-08-18T10:06:43.033 に答える
0
あなたはそのように使うことができます
import android.app.Activity;
import android.os.Bundle;
import android.util.SparseBooleanArray;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.Toast;
public class AndroidListViewActivity extends Activity {
ListView myList;
Button getChoice;
String[] listContent = {
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"
};
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
myList = (ListView)findViewById(R.id.list);
getChoice = (Button)findViewById(R.id.getchoice);
ArrayAdapter<String> adapter
= new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_multiple_choice,
listContent);
myList.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
myList.setAdapter(adapter);
getChoice.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String selected = "";
int cntChoice = myList.getCount();
SparseBooleanArray sparseBooleanArray = myList.getCheckedItemPositions();
for(int i = 0; i < cntChoice; i++){
if(sparseBooleanArray.get(i)) {
selected += myList.getItemAtPosition(i).toString() + "\n";
}
}
Toast.makeText(AndroidListViewActivity.this,
selected,
Toast.LENGTH_LONG).show();
}});
}
}
于 2013-05-29T07:18:52.893 に答える