Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何从列表中的选定项获取文本并在文本视图中设置该文本?_Android_Listview_Textview - Fatal编程技术网

Android 如何从列表中的选定项获取文本并在文本视图中设置该文本?

Android 如何从列表中的选定项获取文本并在文本视图中设置该文本?,android,listview,textview,Android,Listview,Textview,我已经创建了一个列表。我需要在单击列表项时获取列表项上的文本。然后需要在TextView中设置该文本。下面是我的代码,当我运行它时,我得到一个强制停止。请给出一些想法 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); txtTask = (EditText)findViewById(R.i

我已经创建了一个列表。我需要在单击列表项时获取列表项上的文本。然后需要在TextView中设置该文本。下面是我的代码,当我运行它时,我得到一个强制停止。请给出一些想法

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

    txtTask = (EditText)findViewById(R.id.txtTask);
    btnAdd = (Button)findViewById(R.id.btnAddTask);
    selectedTask = (TextView)findViewById(R.id.textViewTask);

    list = getListView();
    list.setTextFilterEnabled(true);

    btnAdd.setOnClickListener(this);
    list.setOnKeyListener(this);


    toDoItems = new ArrayList<String>();
    oo = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,   toDoItems);
    list.setAdapter(oo);
    list.setOnItemClickListener(new OnItemClickListener(){
        @Override
    public void onItemClick(AdapterView<?> parent, View view, int position,
                long id3) {     
        int tmp = list.getSelectedItemPosition();
        String v= toDoItems.get(tmp).toString();
        selectedTask.setTag(v);
        flippy.showNext();
        }

        });

    }
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
txtTask=(EditText)findViewById(R.id.txtTask);
btnAdd=(按钮)findviewbyd(R.id.btnAddTask);
选择任务=(TextView)findViewById(R.id.textViewTask);
list=getListView();
list.setTextFilterEnabled(true);
btnAdd.setOnClickListener(此);
list.setOnKeyListener(此);
toDoItems=新的ArrayList();
oo=新的ArrayAdapter(这是android.R.layout.simple\u list\u item\u 1,toDoItems);
setAdapter(oo);
list.setOnItemClickListener(新的OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父视图、视图、整型位置、,
长id3{
int tmp=list.getSelectedItemPosition();
字符串v=toDoItems.get(tmp.toString();
选择任务。设置标签(v);
flipy.showNext();
}
});
}

在获得字符串v后,您需要输入以下行:

selectedTask.setText(v);

也不需要放置
list.setOnKeyListener(这个)
因为您需要侦听正在单击的项目。

用我建议的代码替换onimclick方法中下面3行代码

int tmp = list.getSelectedItemPosition();
String v= toDoItems.get(tmp).toString();
selectedTask.setTag(v);
建议代码

String v= toDoItems[position]; // or
String v = list.getItemAtPosition(position).toString();
selectedTask.setText(v);

如果您从Logcat粘贴了异常,这会有所帮助。仅需确认,您确实实现了调用
setTag()
而不是
setText()
对吗?使用字符串v=list.getItemAtPosition(position).toString();我也尝试过使用setText()。同样的情况也会发生。“使用字符串v=list.getItemAtPosition(position.toString();–lim_939”这对我很有效,非常感谢!!:)它起作用了,但我也不得不改变上面的界线。谢谢