【发布时间】:2011-09-08 06:22:44
【问题描述】:
我想在单击下一个按钮时更改文本视图中的文本。我试过这段代码,但找不到正确的方向。请你修一下好吗?
public class StringTestActivity extends ListActivity {
TextView t;
int count=0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
t=(TextView)findViewById(R.id.text);
Resources res = this.getResources();
final String[] capital = res.getStringArray(R.array.Cap);
//ArrayAdapter<String> n=new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,capital);
//setListAdapter(n);
Button next=(Button)findViewById(R.id.btnNext);
next.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(count<capital.length-1)
t.setText(capital[count]);
count++;
}
});
} }
编辑:我遇到了这个错误信息。
再次编辑: main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:id="@+id/list" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:hint="text" />
<Button android:text="Next" android:id="@+id/btnNext"
android:layout_width="wrap_content" android:layout_height="wrap_content"> </Button>
</LinearLayout>
res/string/array.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="Cap">
<item>A</item>
<item>B</item>
<item>C</item>
<item>D</item>
</string-array>
</resources>
【问题讨论】:
-
你怎么了?你能详细说明你遇到了什么问题吗?
-
当我运行这个项目时,上面的信息是显示的(对不起.....)。我的代码有什么问题。
-
向我们提供您在 logcat 中收到的错误消息。不是他的形象。
-
java.lang.RuntimeException:无法启动活动 ComponentInfo{a.b/a.b.StringTestActivity}:java.lang.RuntimeException:您的内容必须有一个 ID 属性为 'android.R.id.list 的 ListView '
-
在下面查看我的回答。希望对您有所帮助。