【发布时间】:2015-09-25 13:40:09
【问题描述】:
这是我正在处理的代码,它应该在每次单击按钮时简单地在 ListView(带数组)中添加一个项目。每次单击 Button 时,用户在 EditText 上插入的文本都应添加到列表中。
我发现这行代码:
new Button.OnClickListener()
被视为“匿名”的东西,它没有运行,请帮帮我;(
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.*;
import android.widget.*;
import java.lang.*;
import java.util.List;
public class MainActivity extends ActionBarActivity {
//Setup Lists
String[] arrayNames;
ListView listNames;
TextView namesText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Creating and Printing Lists
listNames = (ListView) findViewById(R.id.listNamesId);
namesText = (TextView) findViewById(R.id.namesTexter);
final ArrayAdapter<String> adapterNames = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, android.R.id.text1, (List<String>) namesText);
Button buttonPlus = (Button)findViewById(R.id.buttonPlus);
buttonPlus.setOnClickListener(
new Button.OnClickListener() {
public void onClick(View v) {
listNames.setAdapter(adapterNames);
}
}
);
}
XML
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity">
<ListView
android:id="@+id/listNamesId"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="#000"
android:dividerHeight="1dp"
android:headerDividersEnabled="true"
android:layout_marginTop="50dp"></ListView>
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/textnametextname"
android:id="@+id/buttonPlus"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:nestedScrollingEnabled="false" />
<EditText
android:layout_width="200dp"
android:layout_height="wrap_content"
android:id="@+id/namesTexter"
android:layout_alignBottom="@+id/buttonPlus"
android:layout_centerHorizontal="true"
android:inputType="text" />
【问题讨论】:
-
到底是什么问题?这是编译错误还是运行时错误?
-
你能提供错误,或者解释发生了什么吗?
-
这应该是一个运行时错误,但我认为这只是我的代码有问题,我想问题是我试图将
namesText的值传递到一个列表中,但是那个值是一个 TextView 类型,所以它不允许我将它插入到数组适配器上,这就是为什么我确实提示添加(List<String>) namesText这是(对我来说)真正的错误@Daniel Nugent -
就是@JasonPortnoy,我认为错误是找到一种方法在该适配器中传递namesText的值
-
你说它没有被调用?你能显示你的activity_main xml
标签: java android android-listview android-button