[英]android: How to opem item from list view in new activity?
這是代碼,多數民眾贊成在列表視圖! 謝謝! **我想從列表中的行獲取信息並在新活動中將其打開
該代碼處理listView,並且有xml代碼保存單個項目視圖
public class HelpFriends extends Activity
{
ListView dilemasListView;
MyCustomListAdapter customListAdapter;
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.help_friends);
dilemasListView = (ListView) findViewById(R.id.dilemasListView);
HMCApplication myApp = (HMCApplication)getApplication();
myApp.getAllDilemasFromServer();
ArrayList<Dilema> myDilemas = myApp.getDilemas();
//dilemasListView.setOnItemClickListener(this);
customListAdapter = new MyCustomListAdapter(this,
R.layout.dilema_list_layout, // layout of a single item in the list
myDilemas);
dilemasListView.setAdapter(customListAdapter);
}
// the adapter handles the list
public class MyCustomListAdapter extends ArrayAdapter<Dilema>
{
// internal list of data
ArrayList<Dilema> mItems;
public MyCustomListAdapter(HelpFriends theActivity,
int viewResourceId, ArrayList<Dilema> objects)
{
super((Context) theActivity, viewResourceId, objects);
mItems = objects;
}
@Override
public int getCount()
{
return mItems.size();
}
@Override
public Dilema getItem(int position)
{
return mItems.get(position);
}
@Override
public int getPosition(Dilema item)
{
return mItems.indexOf(item);
}
@Override
public long getItemId(int position)
{
return position;
}
// getView returns / creates the view for a SINGLE item in the list
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
// theUser will be the logic object with all data
Dilema theDilema = mItems.get(position);
// row will be the visual object
LayoutInflater inflater = getLayoutInflater();
// single_fruit_item_layout is the layout of a single row
View row = inflater.inflate(R.layout.dilema_list_layout, parent, false);
// populate the row object from theUser object
TextView TextVieUsername = (TextView) row.findViewById(R.id.usernameText);
TextVieUsername.setText(theDilema.getUsername());
TextView TextViewQuestion = (TextView) row.findViewById(R.id.questionText);
TextViewQuestion.setText(theDilema.getQuestion());
TextView TextViewTime = (TextView) row.findViewById(R.id.timeText);
TextViewTime.setText(theDilema.getTime());
TextView TextViewCategory = (TextView) row.findViewById(R.id.categoryText);
TextViewCategory.setText(theDilema.getCategory());
return row;
}
}
}
將此添加到創建時...。
dilemasListView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Intent myIntent = new Intent(activityname.this, nextactivity.class);
startActivityForResult(myIntent, 0);
}
}
});
使用setOnItemClickListener。 在此onitemclick內部,您可以為新的活動調用編寫代碼。
dilemasListView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Intent i = new Intent();
i.setclass(current_activity_name.this, next_activity.class);
startActivity(i);
}
}
您所選項目的信息在偵聽器的“類”視圖中:
onItemClick(AdapterView<?> parent, View view,int position, long id)
您可以使用視圖獲取值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.