【问题标题】:Get Selected String from the ListView从 ListView 中获取选定的字符串
【发布时间】:2012-04-05 05:46:45
【问题描述】:

我的项目中有 ListView,它的 ListItems 是这样的 String 形式,

今天完成任务
将项目分配给开发人员
会议取消

如果单击 ListView 中的任何一项,则意味着我希望该特定字符串应显示在我的 EditText 中(即,如果单击会议取消,我需要此特定字符串显示在 EditText 中)。任何人都可以指导我,这个是我尝试实现的方式。在这里输入代码提前谢谢。

final ListView listView = (ListView) findViewById(R.id.taskListDesc); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> adapter, View view, int selectedItem,
                long arg3) {

            System.out.println(adapter.getItemAtPosition(selectedItem));

            Intent intent = new Intent(getApplicationContext(),
                    ViewTaskActivity.class);
            startActivity(intent);
        }
    });
}

【问题讨论】:

  • 如果使用TextView,请尝试使用字符串listItemSelected_TextValue = ((TextView) view).getText();

标签: android


【解决方案1】:
ArrayAdapter<String> adapter;

adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_dropdown_item, profielNames); 
setListAdapter(adapter);

 @Override
 protected void onListItemClick(ListView l, View v, int position, long id) {

  super.onListItemClick(l, v, position, id);

  // Get the data associated with selected item
  Object item = l.getItemAtPosition(position);
  String myitem = item.toString();
  edittxt.setText("Selected item is :"+ myitem); // You can Set EditText from Here.
 }

【讨论】:

  • 如果你写了扩展列表视图,那么上面的代码是相关的,否则 onitemClick() 将起作用。
  • 是的,我尝试了你的代码 Dev 我从列表视图中选择了一个列表项我得到了选定的 listValue 我的意思是我没有得到那个特定的字符串,而是我得到了这样的 TasksList@44ef4bc8跨度>
  • 你用过吗(扩展ListActivity)
  • 不,我只是扩展了活动
  • 那就改成ListActivity
【解决方案2】:

你甚至可以试试这个.....

public class ExampleActivity extends Activity {

String str_arr[] = {"A", "B", "C"};


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    ListView listView = (ListView) findViewById(R.id.listView1);

    listView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, str_arr));

    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> adapter, View view, int position,
                long id) {
            // TODO Auto-generated method stub
            Object o = adapter.getItemAtPosition(position);
            String str_text = o.toString();

            Intent intent = new Intent(ExampleActivity.this, NewExample.class);
            intent.putExtra("StrValue", str_text);
            startActivity(intent);
        }

    });
 }
 }

public class NewExample extends Activity {

EditText editText;

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.newmain);

    editText = (EditText) findViewById(R.id.editText1);

    String value = getIntent().getStringExtra("StrValue").toString();

    editText.setText(value);
}

}

希望这会有所帮助.......

Njoy 编码.....

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多