- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
一旦我在代码中对按钮使用 setOnClickListener,当我启动应用程序时,它会显示应用程序意外停止
package example.khumbayatabbed;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashMap;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.ListActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;
public class Category extends ListActivity{
int categ=0;
String[] categories = new String[100];
Button button1;
EditText edittext1;
ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
edittext1= (EditText) findViewById(R.id.edittext);
button1 = (Button) findViewById(R.id.button);
button1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
edittext1.setText("");
Toast.makeText(getApplicationContext(), "Hello",
Toast.LENGTH_SHORT).show();
}
});
// setContentView(R.layout.main);
// Create a crude view - this should really be set via the layout resources
// but since its an example saves declaring them in the XML.
// Set the text and call the connect function.
//call the method to run the data retreival
final String KEY_121 = "http://myurl";
getServerData(KEY_121);
if(mylist.isEmpty())
Toast.makeText(getApplicationContext(), "No more sub categories",
Toast.LENGTH_SHORT).show();
else
display(mylist);
}
private void getServerData(String jason) {
mylist = new ArrayList<HashMap<String, String>>();
InputStream is = null;
String returnString="";
String result = "";
//mylist.clear();
//the year data to send
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
//http post
try{
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(jason);
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
}catch(Exception e){
Log.e("log_tag", "Error in http connection "+e.toString());
}
//convert response to string
try{
BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
result=sb.toString();
}catch(Exception e){
Log.e("log_tag", "Error converting result "+e.toString());
}
//parse json data
try{
JSONArray jArray = new JSONArray(result);
for(int i=0;i<jArray.length();i++){
HashMap<String, String> map = new HashMap<String, String>();
JSONObject json_data = jArray.getJSONObject(i);
Log.i("log_tag","url: "+json_data.getString("url")+
", name: "+json_data.getString("value")
);
//Get an output to the screen
categories[categ++]=json_data.getString("value");
map.put("name", json_data.getString("value"));
map.put("url", json_data.getString("url"));
mylist.add(map);
returnString += jArray.getJSONObject(i).getString("url") + "\n";
}
}catch(JSONException e){
Log.e("log_tag", "Error parsing data "+e.toString());
}
}
private void display(ArrayList<HashMap<String, String>> list)
{
ListAdapter adapter=new SimpleAdapter(this,list,R.layout.list_item2, new String[] {"name"}, new int[]{R.id.cat_name});
setListAdapter(adapter);
final ListView lv = getListView();
lv.setTextFilterEnabled(true);
lv.setOnItemClickListener(new OnItemClickListener() {
@SuppressWarnings("unchecked")
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
HashMap<String, String> tmp = new HashMap<String, String>();
tmp=(HashMap<String, String>)parent.getItemAtPosition(position);
String cat_url=tmp.get("url");
final String KEY_121 = "http://myurl/"+cat_url;
getServerData(KEY_121);
if(mylist.isEmpty())
Toast.makeText(getApplicationContext(), "No more sub categories",
Toast.LENGTH_SHORT).show();
else
display(mylist);
}
});
}
}
这是我主页的代码:
public class Khumbayatabbed extends TabActivity
{ /** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Resources res = getResources(); // Resource object to get Drawables
TabHost tabHost = getTabHost(); // The activity TabHost
TabHost.TabSpec spec; // Reusable TabSpec for each tab
Intent intent; // Reusable Intent for each tab
// Create an Intent to launch an Activity for the tab (to be reused)
intent = new Intent().setClass(this, Category.class);
// Initialize a TabSpec for each tab and add it to the TabHost
spec = tabHost.newTabSpec("category").setIndicator("Category",
res.getDrawable(R.drawable.ic_tab))
.setContent(intent);
tabHost.addTab(spec);
// Do the same for the other tabs
intent = new Intent().setClass(this, Event.class);
spec = tabHost.newTabSpec("event").setIndicator("Event",
res.getDrawable(R.drawable.ic_tab))
.setContent(intent);
tabHost.addTab(spec);
tabHost.setCurrentTab(0);
}
}
main.xml 如下所示:
最佳答案
您没有为您的布局编写 setContentView。因此您无法访问您的 editText1 和 button1。写点像
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
在你的主页调用这个用途
Intent myIntent = new Intent(MainPage.this,Category.class);
MainPage.this.startActivity(myIntent);
关于android - setOnClickListener - 应用程序意外停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6593391/
我读到了 avoiding memory leaks 为避免上下文相关的内存泄漏,请记住以下几点: 尝试使用 context-application 而不是 context-activity 我有两个
我想在按钮单击时显示图像,但我的代码中有三个错误。怎么了? class name "SequencerActivity" SequencerActivity 类型必须实现继承的抽象方法DialogIn
我一直在摆弄 Snake示例代码,我正在尝试修改它以进行培训,并希望增加对 Android 工作原理的理解。 到目前为止,我已经添加了两个按钮 + 相应的 setOnClickListener 代码,
我是 android 的新手,我想知道如果我不在我的布局之一中使用“setOnClickListener”到底会发生什么,因为看起来我的应用程序仍然可以正常运行而没有任何错误。谁能给我解释一下? 例子
我花了一整天的时间试图弄清楚如何使这项工作成功。我成功设置了自定义适配器和我的 ListView。问题是我得到了单击的项目的正确位置,但该项目始终是列表中的最后一个。 更重要的是,我在另一个线程中调用
我的代码有时会出现空指针异常。奇怪的是,这种情况并不是每次都会发生,我也不知道为什么。帮忙? package net.obviam.droidz; public class HomeView exte
我想在按钮 A 中进行处理时禁用按钮 B。 public class GoJump extends Activity{ Button answerA, answerB; public void
因此,每当我尝试使用 set onclicklistener 并尝试在模拟器上运行它时,它都会显示一条错误消息,指出应用程序已停止。当我取出那部分代码时,它开始工作。 这是我的代码:(Mainacti
我正在 ActivityMain.java 中创建按钮编译器无法识别 onSetClickListener。我错过了什么? package com.example.mydiceapp; import
好吧,如果您没有看到我之前的问题,我问如何使用 2 个命令按钮将文本从 edittext 导入到 textview 中?这是我所做的: 我不断收到此错误 "Syntax error on token
我正在使用GitHub我的应用程序 UI 的 FlatUI 类。我已经使用 FlatButtons 成功生成了布局,现在我想为这些按钮设置监听器。正如 FlatUI 示例代码中提到的,我在 Activ
我正在尝试在 Android 应用程序中为 recycleview 设置 onlclick 监听器,但尽管一切都正确,但我仍然在 IDE 中收到上述错误。 这是 DrinksActivity 类的完整
我想从此 fragment 访问来自不属于该 fragment 的另一个布局的 View 。这就是我得到 NullPointerException 的原因。 我该如何解决这个问题? fragment
您好,我收到错误消息: the method setonclickListener(new onclickListener(){}) is undefined for the type button
我在 listView 中按下一个列表项。如何从 ListView 项目转到我的另一个 Activity ?请帮助我了解如何解决这个问题。 这是我的代码,如果: package com.example
这是我的java代码...... public class Account extends Activity { private Database v1; EditText telefon,sifre
我是 android 开发的新手,我意识到在真实世界的示例中使用所有界面比在试图向您展示如何使用界面的示例代码中使用它们要困难得多。 因为我想理解我输入的每一行,所以我将从这里开始: Button c
我正在使用 tabbedActivity 制作一个用于研究的应用程序加上按钮没有采取行动,有人知道解释原因,我已经尝试了几种形式但都没有行动,不会给出错误并破坏应用程序但按钮什么都没有 @Overri
我使用的表布局包含来自 SQLite 数据库的行,因此我添加行时动态添加 View 到行。现在,我在每一行中添加了 imageButton 来处理行版本和将其添加到 SQLite 数据库的其他行。我想
首先,请不要将其标记为重复。我在 stackoverflow.com 上发现了类似的问题,但找不到我的解决方案。请看这张图片 Screenshot 我正在尝试检查 EditText 不应为空。但是 s
我是一名优秀的程序员,十分优秀!